How to use DisplayForModel() to show a list of Customers?

后端 未结 2 861
忘了有多久
忘了有多久 2021-01-04 06:51

Normally we use DisplayForModel or EditorForModel to display and edit a single Customer object, respectively.

How to display a list of Cust

相关标签:
2条回答
  • 2021-01-04 07:04

    How about following Haack's tutorial ?

    As great as this feature is, there is one template that’s conspicuously missing. ASP.NET MVC does not include a template for displaying a list of objects in a tabular format.

    Earlier today, ScottGu forwarded an email from Daniel Manes (what?! no blog! ;) with a question on how to accomplish this. Daniel had much of it implemented, but was trying to get over the last hurdle. With Brad’s help, I was able to give him a boost over that hurdle. Let’s walk through the scenario.

    0 讨论(0)
  • 2021-01-04 07:15

    Assuming you have a collection of customers in your view model

    public class MyViewModel
    {
        public IEnumerable<Customer> Customers { get; set; }
    }
    

    you could use the following in your view:

    @Html.DisplayFor(x => x.Customers)
    

    and then in the editor/display template (~/Views/Home/DisplayTemplates/Customer.cshtml or ~/Views/Shared/DisplayTemplates/Customer.cshtml):

    @model AppName.Model.Customer
    <div>@Model.Name</div>
    

    The Customer partial will be then rendered for each element of the customers collection of your main model. The important thing is the naming convention: the partial should be situated in a DisplayTemplates subfolder and called the same as the collection type (Customer).

    0 讨论(0)
提交回复
热议问题