MVC @ Html.DisplayForModel()不同的视图

时间:2013-02-08 20:56:44

标签: asp.net-mvc

我刚开始学习MVC。

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

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

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

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

..但是,由于你现在已经得到了它,它似乎并不优雅。

1 个答案:

答案 0 :(得分:2)

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

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