Я создал проект MVC 3 по умолчанию (используя бритву), чтобы продемонстрировать проблему.
На странице входа в систему есть строка:
@Html.TextBoxFor(m => m.UserName)
если я изменил это на:
@Html.TextBoxFor(m => m.UserName, new { title = "ABC" })
Затем он отображается как (с атрибутом title):
<input data-val="true" data-val-required="The User name field is required." id="UserName" name="UserName" title="ABC" type="text" value="" />
Однако, если я сделаю это EditorFor:
@Html.EditorFor(m => m.UserName, new { title = "ABC" })
Затем он получает визуализацию (без атрибута title) как:
<input class="text-box single-line" data-val="true" data-val-required="The User name field is required." id="UserName" name="UserName" type="text" value="" />
Таким образом, атрибут title теряется, когда я использую EditorFor.
Я знаю, что второй параметр для TextBoxFor называется htmlAttributes, а для EditorFor это дополнительныйViewData, однако я видел примеры, где EditorFor может отображать атрибуты, поставляемые с этим параметром.
Может кто-нибудь объяснить, что я делаю неправильно, и как я могу иметь атрибут title при использовании редактора?