Создание ввода 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?

Другие вопросы по тегам