我的MVC3 Razor视图有以下视图模型:
public class UserProfileModel
{
public Person[] Persons { get; set; }
//some other fields
}
我想在Razor视图中显示所有人:
foreach (var person in Model.Persons)
{
<div>
@* some custom formatting *@
@Html.Display(person)
</div>
}
@Html.Display
或@Html.DisplayFor
似乎对我不起作用..
我可以使用Person
作为模型创建一个单独的强制类型视图,并在那里调用@Html.DisplayForModel
,但有没有办法可以在没有单独视图的情况下进行?
答案 0 :(得分:15)
在Person.cshtml
内创建名为~/Views/Shared/DisplayTemplates
的部分视图文件。强制键入Person
类。
实施视图结构。
然后当您在(在您的情况下)下面调用它时,您将得到您所期望的:
foreach (var person in Model.Persons)
{
<div>
@* some custom formatting *@
@Html.DisplayFor(m => person)
</div>
}