1

我刚开始学习MVC。

我知道您可以在 Shared/DisplayTemplates 中创建一个强类型视图,然后在从控制器返回一个列表后,您可以执行 @Html.DisplayForModel() 并将其用作整个列表的模板。

但是,如果我不总是希望按照我在此 DisplayTemplate 中指定的方式构建模型怎么办?如何创建不同的显示模板?

显而易见的方法似乎是为每个对象创建一个模板,然后执行类似...

@foreach(var item in Model)
{
    @Html.DisplayFor(x=>x, "AlternativeTemplate")
}

..但是你现在有了foreach,它看起来并不那么优雅。

4

1 回答 1

2

没错,您可以使用 DisplayForModel 重载,该重载采用 String 参数作为模板名称。http://msdn.microsoft.com/en-us/library/ee430910(v=vs.98).aspx

您只需在 Views/Shared/DisplayTemplates 下定义模板,并使用字符串中给出的确切名称。

于 2013-02-08T21:00:41.500 回答