0

我有一个泛型类型的模型类。我想创建一个自定义编辑器模板来显示它(并将其放在共享文件夹中)。

我怎样才能做到这一点?

我不知道如何命名它,以便 MVC2 会在通用模板上提取它。

此外,我想知道是否有一种方法可以明确指定顶级类应该使用哪个模板(就像您可以使用 UIHint 属性处理属性一样)。有没有办法覆盖根据类名选择模板的功能?

请帮忙。

4

1 回答 1

0

实现#1最简单的方法是在显示模型时指定模板名称,作为第二个参数:

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

在 MVC2 中,泛型的处理不是很好。源代码说:

// TODO: Make better string names for generic types

因此,在渲染列表时,它会查找名为 List`1 的模板,如果您未指定其他名称,则默认渲染它。

在第二点上,你会做与 #1 相同的事情。渲染项目时指定模板名称或使用 UIHint。

于 2010-08-27T15:04:20.943 回答