MVC3 - как я могу переопределить шаблон / поведение EditorFor IEnumerable
Я хотел бы глобально заменить редактор по умолчанию своим собственным. По умолчанию просто повторяется и создает редакторы для каждого элемента в модели.
Это не дает вам контроля над структурой html (например, использовать ли элементы li, таблицу и т. Д.). Также я хотел бы, чтобы редактор по умолчанию включал кнопки добавления / удаления для всех перечисляемых коллекций любого типа (или, по крайней мере, включал или выключал это с помощью атрибута)
Я также переопределю defaultmodelbinder, чтобы добавить дополнительные функции - я уже знаю, как это сделать, просто застрял в части шаблона.
Прежде чем вы спросите, я уже пытался создать шаблон редактора для типа IEnumerable, но он требователен к визуализации, даже если я указываю имя шаблона.
1 ответ
В большинстве случаев вам нужно только отредактировать шаблон объекта по умолчанию и выполнить собственный рендеринг.
Реализации шаблона по умолчанию доступны в исходной загрузке фьючерсов MVC3 на codeplex по адресу http://aspnet.codeplex.com/releases
Вы также можете прочитать статью Брэда Уилсона на эту тему (это относится к MVC2, но она все еще применяется) по адресу http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html