我刚开始学习MVC。
我知道您可以在Shared / DisplayTemplates中创建强类型视图,然后在从控制器返回列表后,您可以执行@ Html.DisplayForModel(),它将使用它作为整个列表的模板。 / p>
但是,如果我不总是希望以我在DisplayTemplate中指定的方式构建模型,该怎么办?如何创建不同的显示模板?
显而易见的方法似乎是为每个对象创建一个模板,然后执行类似......
的操作@foreach(var item in Model)
{
@Html.DisplayFor(x=>x, "AlternativeTemplate")
}
..但是,由于你现在已经得到了它,它似乎并不优雅。
答案 0 :(得分:2)
您是对的,您可以使用DisplayForModel重载,该重载将String参数作为模板名称。 http://msdn.microsoft.com/en-us/library/ee430910(v=vs.98).aspx
您只需要在Views / Shared / DisplayTemplates下定义模板,并使用String中给出的确切名称。