C# 我如何制作一个显示集合内容的ASP.NET MVC3显示模板?

C# 我如何制作一个显示集合内容的ASP.NET MVC3显示模板?,c#,.net,asp.net-mvc,asp.net-mvc-3,display-templates,C#,.net,Asp.net Mvc,Asp.net Mvc 3,Display Templates,我试图在我的视图中显示集合的内容。。但是使用DisplayTemplate来处理该专用属性/对象的视图定义 例如 而且 public string MyModel { public ICollection<Foo> Foos { get; set;} } 我在视图上显示了什么 System.Collections.Generic.List`1[MyNamespace…..Foo] 。我已确认此系列中至少有一件物品。 各位,有什么想法吗?我想应该是: @model MyNam

我试图在我的视图中显示集合的内容。。但是使用
DisplayTemplate
来处理该专用属性/对象的视图定义

例如

而且

public string MyModel
{
    public ICollection<Foo> Foos { get; set;}
}
我在视图上显示了什么

System.Collections.Generic.List`1[MyNamespace…..Foo]

。我已确认此系列中至少有一件物品。 各位,有什么想法吗?

我想应该是:

@model MyNamespace.....Foo

[@:Model.Blah] @:Model.Name
您甚至可以使用
标记

有关详细信息,请参见Scott Gu的帖子: 找到了我的答案:)

我(错了)

但是我不应该使用
DisplayTextFor
而是
displaytfor

@Html.DisplayFor(x => x.Model.Foos)
此外,我还购买了s.pdf的副本,在第423页他说(我真诚地希望我没有侵犯版权,这里)

例如,现在可以渲染 可枚举的人员集合 具有单一视图线的实例 标记,例如:

<%:Html.DisplayFor(x => x.MyPersonCollection) %>
//This would render the Person.ascx partial once 
//for each item in the collection. 
x.MyPersonCollection)%>
//这将使Person.ascx部分化一次
//对于集合中的每个项目。
他是对的,这篇文章突出了我的错误


Win:)

我不知道您在cshtml视图中使用
@Model
时是什么意思,是否要打印列表?我正在将此局部视图强键入自定义对象。例如,
MyNamspace.Entities.Foo
。所以您建议我的自定义显示模板用于一个类实例。。。因此,我试图显示一组Foo的事实并不是一个问题。。该框架足够智能,可以为集合中的每个实例显示我的自定义显示模板?@Pure.Krome抱歉误读了您的问题。。我能想到的一个选择是拥有一个带有model
@IEnum
的视图,在该视图中,您将调用带有model
Foo
的视图!桑德森的书非常棒!还没有把它全部读清楚=P
@model MyNamespace.....Foo

[@:Model.Blah] @:Model.Name
@Html.DisplayTextFor(_ => Model.Foos)
@Html.DisplayFor(x => x.Model.Foos)
<%:Html.DisplayFor(x => x.MyPersonCollection) %>
//This would render the Person.ascx partial once 
//for each item in the collection.