2015-06-24 5 views
0

Возможно ли создать пользовательскую версию атрибута UIHint?Пользовательский атрибут UIHint

Когда моя компания впервые приняла MVC, мы использовали множество вспомогательных методов Html.*. Мы перерабатываем шаблон MVC, чтобы использовать всю мощь MVC. Один из способов, которым мы это делаем, - это отображать и редактировать шаблоны.

Однако, один популярный метод расширения HTML, который у нас был, заключался в создании выпадающих списков для Enums. Один из вариантов, который у нас был, состоял в сортировке по значению int или описанию или тексту EnumMember.

Я хотел бы узнать о создании атрибута EnumDropdown, который принимает несколько параметров, которые могут настраивать вывод выпадающего списка HTML. Тем не менее, я не думаю, что это возможно сделать, сохраняя при этом все преимущества атрибута UIHint. Смысл, что я не смогу просто позвонить @Html.EditorFor(m => Model)

Я обнаружил, что есть интерфейс System.Web.UI.IAutoFieldGenerator, но он, похоже, не делает того, что я хочу. Какие-либо предложения?

ответ

0

Поздние версии MVC он встроен в систему:

EnumDropDownListFor HTML Helper

Единственное UIHint делает предложить Display или редактора имя шаблона. Затем MVC добавит это имя в путь поиска при поиске этого шаблона.

Вы можете использовать UIHint как есть, и ваш генератор создаст их для вас в правильных папках и не должен его настраивать.

+0

Да, но тогда я теряю способность иметь возможность вызывать '@ Html.EditorFor (m => Модель)' из моего представления. Затем я должен указать конкретный код для этого свойства или создать EditorTemplate из класса. –

Смежные вопросы