Я ищу для создания ненавязчивой каскадной выпадающей системы для веб-сайта, над которым я работаю. У меня возникли проблемы с выяснением того, как заставить различные методы HtmlHelper включать пользовательские атрибуты html в обработанный тег.Добавление атрибутов data- * в MVC3 с помощью атрибута модели представления
Просмотрев исходный код встроенных методов HtmlHelper, все они делают вызов GetUnobtrusiveValidationAttributes, который создает все атрибуты data-val- * html. Это здорово, если вам нужны атрибуты validator, но я хотел бы иметь возможность добавлять другие атрибуты таким образом, не изменяя шаблоны и не создавая новые расширения HtmlHelper.
Возможно ли это? Я что-то пропускаю?
Редактировать
Я знаю, что все методы HtmlHelper имеют перегрузку, которая принимает объект HTML атрибутов. Я пытаюсь избежать этого, если это вообще возможно.
Edit 2
я принципиально хочу, чтобы это произошло:
public class ViewModel
{
[Cascading(Action="/Controller/Action")]
public int Action { get; set; }
}
И тогда имеет HtmlHelpers вынести как:
<select data-action="/Controller/Action"></select>
Но предпочтительно без подправить метод расширения для этого. У меня нет проблем с созданием моего собственного вспомогательного метода, но мне интересно, не хватает ли какой-либо встроенной функции, которая уже рассматривает случайные метаданные модели и может добавлять атрибуты html.
Спасибо, я стараюсь не добавлять все эти значения вручную. Я хочу, чтобы атрибуты html поступали из атрибута модели представления, который я создаю. – rossisdead
О, должно быть, пропустил эту часть в названии. –
Не беспокойтесь, кто-то другой отправил одинаковый ответ, а затем удалил его. Я обновил свой вопрос, чтобы сделать его более понятным. – rossisdead