Использование общих типов с шаблонами MVC2 - PullRequest
0 голосов
/ 29 июня 2010

У меня есть класс модели, который является универсальным типом. Я хотел бы создать собственный шаблон редактора, который бы отображал его (и помещал в общую папку).

Как я могу это сделать?

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

Кроме того, мне интересно, есть ли способ явно указать, какой шаблон должен использовать класс верхнего уровня (как вы можете сделать со свойством, используя атрибут UIHint). Есть ли способ переопределить функциональность, которая выбирает шаблоны на основе имени класса?

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 27 августа 2010

Самый простой способ - выполнить # 1, указав имя шаблона при отображении модели в качестве второго параметра:

<%= Html.DisplayFor(m => m.GenericList, "DisplayList")%>

Обработка дженериков не очень хороша в MVC2.Исходный код говорит:

// TODO: Make better string names for generic types

Итак, при рендеринге списка он ищет шаблон с именем List`1 по умолчанию для его рендеринга, если вы не укажете другое имя.

По второму пункту вы бы сделали то же самое, что и # 1.Укажите имя шаблона или используйте UIHint при отображении элемента.

...