Asp.Net Mvc - Html.TextBox - установить свойство автофокуса
В Html 5 есть новый атрибут в текстовом поле, называемом автофокусом.
Проблема в том, что это логическое значение (там или нет)
Он должен выглядеть примерно так:
<input name="a" value="" autofocus>
Я пробовал:
<%= Html.TextBox( "a", null, new { autofocus } ) %>
Но это дает мне ошибку, потому что я не устанавливаю значение для автофокусировки...
Я знаю, что могу сделать это вручную, но могу ли я сделать это с помощью Html.TextBox?
Ответы
Ответ 1
Попробуйте <%= Html.TextBox( "a", null, new { autofocus = "" } ) %>
В соответствии с спецификацией HTML5 для атрибутов boolean:
Если атрибут присутствует, его значение должно быть либо пустой строкой, либо значением, которое является несоответствующим регистру ASCII совпадением для атрибута canonical name, без ведущее или завершающее пробелы.
Итак, либо
-
<input name="a" value="" autofocus>
или
-
<input name="a" value="" autofocus="">
или
-
<input name="a" value="" autofocus="autofocus">
должен быть действительным.
Ответ 2
В XHTML стандартным способом включения такого логического атрибута будет:
<input name="a" value="" autofocus="autofocus" />
поэтому, считая, что все еще действует в HTML5, вы можете использовать следующий код:
<%=Html.TextBox( "a", null, new { autofocus: "autofocus" } ) %>
Ответ 3
Кроме того, вы можете сделать следующее вместе с некоторыми другими атрибутами:
@Html.TextBoxFor(m => m.Email, new { @class = "class1", @placeholder = "Email", @autofocus = "autofocus" })
Примечание. Только проблема с автофокусом заключается в том, что в браузерах IE текст-заполнитель не отображается, когда элемент управления ввода находится в фокусе (это проблема с IE).