在Html 5中,文本框上有一个名为autofocus的新属性。
问题是它是一个布尔值(有或没有)
它应该类似于:
<input name="a" value="" autofocus>
我试过了:
<%= Html.TextBox( "a", null, new { autofocus } ) %>
但是,它给了我一个错误,因为我没有为自动对焦设置值......
我知道我可以手动完成,但我可以使用Html.TextBox吗?
答案 0 :(得分:25)
尝试<%= Html.TextBox( "a", null, new { autofocus = "" } ) %>
根据HTML5 spec on boolean attributes:
如果属性存在,则其值必须是空字符串,或者是属性的规范名称的ASCII不区分大小写匹配的值,没有领先或尾随空格。
所以要么
<input name="a" value="" autofocus>
或<input name="a" value="" autofocus="">
或<input name="a" value="" autofocus="autofocus">
应该有效。
答案 1 :(得分:4)
此外,您还可以执行以下一些其他属性:
@Html.TextBoxFor(m => m.Email, new { @class = "class1", @placeholder = "Email", @autofocus = "autofocus" })
注意:只有自动对焦问题在于,在IE浏览器中,当输入控件处于焦点时,占位符文本不会显示(这是IE的一个问题)。
答案 2 :(得分:3)
从XHTML开始,启用这种布尔属性的标准方法是:
<input name="a" value="" autofocus="autofocus" />
因此,假设在HTML5中仍然有效,您可以使用以下代码:
<%=Html.TextBox( "a", null, new { autofocus: "autofocus" } ) %>