【问题标题】:Using Generic Types with MVC2 Templates使用带有 MVC2 模板的泛型类型
【发布时间】:2010-06-28 22:04:31
【问题描述】:

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

我该怎么做?

我不知道如何命名它,以便 MVC2 会通过通用模板来选择它。

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

请帮忙。

【问题讨论】:

  • 哎呀,我的意思是模板 - 不是模板 :)

标签: asp.net-mvc-2 asp.net-mvc-2-metadata


【解决方案1】:

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

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

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

// TODO: Make better string names for generic types

所以,当渲染一个列表时,它会寻找一个名为 List`1 的模板来默认渲染它,如果你没有指定另一个名字。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多