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
的视图,在该视图中,您将调用带有modelFoo
的视图!桑德森的书非常棒!还没有把它全部读清楚=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.