Как я могу использовать атрибут placeholder с Html.EditorFor?
Я хочу использовать атрибут placeholder в Html.EditorFor, поэтому я сделал это как в первом ответе: Html5 Placeholders с .NET MVC 3 Razor EditorДля расширения?
Но в заключительной части у меня нет папки EditorTemplates, поэтому я ее создал, и когда я попытался создать представление string.cshtml, я не смог, потому что имя "строка" зарезервировано, поэтому я выбрал stringg.cshtml и это не сработало! Нужно ли мне менять имя в другом месте моей программы? Я сделал точно такой ответ...
Спасибо!
Ответы
Ответ 1
Перейдите к MVC 5.1 и вы можете использовать атрибуты HTML в EditorFor:
@Html.EditorFor(m => m.variable, new { htmlAttributes = new { placeholder = "Your Placeholder Text" } })
http://www.asp.net/mvc/overview/releases/mvc51-release-notes
Ответ 2
@Html.EditorFor(model => model.members_ssn, new { htmlAttributes = new { @class = "form-control", placeholder = "Your Example Here" } })
Ответ 3
При использовании TextBoxFor
или TextAreaFor
вместо EditorFor
используйте только внутреннюю пару "ключ-значение" из ответа @Medo, поскольку метод непосредственно ожидает объект htmlAttributes:
@Html.TextBoxFor(m => m.variable, new { placeholder = "Your Placeholder Text" })
(Я понимаю, что это касательно исходного вопроса, но если бы это помогло мне, когда я приземлился на этой странице раньше, ища ответ на вопрос о том, как добавить текст-заполнитель в Html.TextAreaFor
!)
Ответ 4
Используйте некоторые jquery, например: $ ( "# FirstName" ). Attr ( "placeholder", "Не набирать имя - использовать кнопку поиска" );