Создание ввода HtmlHelpers (например: тип ввода = файл)
Нам нужны атрибуты проверки, и в этом отношении HtmlHelper не предоставляется.
Итак, мы начали разработку нового помощника.
Чтобы выяснить, как мы просмотрели код MS с помощью JetBrains dotPeek и нашли все, что нам нужно, в InputExtensions.cs из System.Web.Mvc (4.0).
Существует проблема: для создания помощников ввода нам нужно использовать метод InputHelper(), который, к сожалению, является закрытым.
Почему частный? Это должно быть хорошей точкой расширения для помощников ввода.
Так что теперь нам нужно продублировать этот код в нашем случае, чтобы обеспечить функциональность для создания шаблонов, атрибутов проверки,....
Считаете ли вы, что то, что мы делаем, правильно?
Есть ли в документации страница с описанием методов расширения такого типа?
PS нашел несколько реализаций, но они не совсем то, что я хочу: http://blog.isilverlabs.com/2011/01/mvc-file-input-helper/
1 ответ
Пользовательские шаблоны полей могут быть тем, что вы ищете. Они позволят вам переписать HTML, который генерируется при вызове @Html.EditorFor()
или же @Html.DisplayFor()
,
Пометьте свойство на модели просмотра с помощью UIHint
атрибут, предоставляющий ваше имя шаблона.
Методы расширения HtmlHelper будут автоматически искать соответствующий шаблон в DisplayTemplates
или же EditorTemplates
папка.
Вот аналогичный вопрос Stackru: Как создать пользовательские шаблоны редактора / отображения в ASP.NET MVC 3?