Шаблоны редактора для списка <string> - PullRequest
4 голосов
/ 14 марта 2011

Я хочу создать общий редактор для некоторых базовых моделей на моем сайте ASP.NET MVC3. Теперь они могут содержать строки, логические значения, перечисления и коллекции списков. То, что я хочу сделать, это расширить шаблоны редактора по умолчанию для распознавания списка и отображения собственного редактора, который может добавлять и удалять строки в этом списке. Все остальные работают просто отлично.

Поскольку я не могу назвать файл List.cshtml, конечно, есть ли способ заставить это работать? Также, почему перечисления не выпадающие списки перечисления по умолчанию?

Я знаю, что могу создавать шаблоны с именами моделей, но я не знаю имен классов до времени выполнения.

Спасибо за любую помощь и руководство.

1 Ответ

14 голосов
/ 14 марта 2011

Вы можете назвать шаблон редактора Foo.cshtml, где Foo - это тип списка: List<Foo>. Тогда просто:

@Html.EditorFor(x => x.FooList)

, а если FooList - IEnumerable<Foo>, то ваш редактор будет автоматически отображаться для каждого элемента этого списка. Поэтому, если у вас уже есть шаблоны редактора для основных типов данных, таких как String, Decimal, DateTime, ... когда вы делаете @Html.EditorFor(x => x.SomeList), ваши шаблоны редактора будут выбраны.

...