我想在我的应用程序中使用自动对焦来编辑器,但似乎无法实现。我已经成功地在文本框上使用了自动对焦,但我想使用编辑器以保持我的应用程序的通用外观。
任何解决方案都将不胜感激,谢谢。
@Html.EditorFor(model => model.Description, new { htmlAttributes = new { @class = "form-control" }, autofocus = "" })
我想在我的应用程序中使用自动对焦来编辑器,但似乎无法实现。我已经成功地在文本框上使用了自动对焦,但我想使用编辑器以保持我的应用程序的通用外观。
任何解决方案都将不胜感激,谢谢。
@Html.EditorFor(model => model.Description, new { htmlAttributes = new { @class = "form-control" }, autofocus = "" })
@Html.TextBoxFor(model => model.Name, new { htmlAttributes = new {
@class = "form-control" }, autofocus="autofocus"})
你也可以使用jQuery来实现这个功能:
<div class="editor-field focus">
@Html.EditorFor(model => model.Description)
@Html.ValidationMessageFor(model => model.Description)
</div>
$(function() {
$('.focus :input').focus();
});
更新:TextBoxFor
总是创建一个类型为输入的文本框,但EditorFor
有点聪明,它根据属性的数据类型呈现标记。使用 .Net Framework 4.5 和 MVC 5,这个对我很有效:
@Html.EditorFor(model => model.Description, new {
htmlAttributes = new {
@class = "form-control",
autofocus = true
}
})
@Html.EditorFor(model => model.Description,
new { htmlAttributes = new { @class = "form-control" }, autofocus = "" })
@Html.EditorFor(model => model.Description,
new { htmlAttributes = new { @class = "form-control", autofocus = "" } })
我一直在关注这个帖子,也许我已经找到了关于EditorFor自动对焦的答案——这都是Asp.Net 4.5和MVC 5,不过这并不重要。
在Scripts文件夹中我有一个jQuery脚本文件:
$(function(){ $('.someclassname').focus(); });
我将脚本名称添加到BundleConfig中,并在视图中呈现它。
<div class="col-md-10" someclassname">
type="text" autofocus="autofocus"
添加到EditorFor的 @class 中。所以,new{@class="form-control", type="text", autofocus="autofocus"
.someclassname
字段获得光标焦点......
PS. 实际上,如果只做(3)也可以......