开发者

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

Normally we use DisplayForModel or EditorF开发者_StackOverflow社区orModel to display and edit a single Customer object, respectively.

How to display a list of Customers using these templating scheme?


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).


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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜