如何使用DisplayForModel()显示Customers列表?

xpo*_*ort 12 asp.net-mvc

通常我们分别使用DisplayForModelEditorForModel显示和编辑单个Customer对象.

如何使用这些模板方案显示客户列表?

Dar*_*rov 19

假设您的视图模型中有一组客户

public class MyViewModel
{
    public IEnumerable<Customer> Customers { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

您可以在视图中使用以下内容:

@Html.DisplayFor(x => x.Customers)
Run Code Online (Sandbox Code Playgroud)

然后在编辑器/显示模板(~/Views/Home/DisplayTemplates/Customer.cshtml~/Views/Shared/DisplayTemplates/Customer.cshtml)中:

@model AppName.Model.Customer
<div>@Model.Name</div>
Run Code Online (Sandbox Code Playgroud)

然后,将为主模型的客户集合的每个元素呈现Customer部分.重要的是命名约定:partial应位于DisplayTemplates子文件夹中,并且与集合类型(Customer)调用相同.