ASP.NET MVC 2:如何为集合中的每个项调用DisplayFor?

时间:2010-04-13 14:48:32

标签: templates asp.net-mvc-2

我的模型中有属性,它是一个集合类型(List)。我想打电话给这个集合Html.DisplayForHtml.EditorFor中的每个项目。我怎么能这样做?

编辑这不是一个强类型的视图。这是一个模板化的观点。只有ViewData.ModelMetadata。

3 个答案:

答案 0 :(得分:8)

你能试试吗

<% foreach (var item in Model.MyCollection) { %>
    <%= html.EditorFor(m=>item) %>
<% } %>

答案 1 :(得分:2)

在你看来,这样的东西?

<% foreach (var item in Model.MyCollection) { %>
    <%= html.EditorFor... %>
    ...
<% } %>

另见using Html.EditorFor with an IEnumerable<T>

答案 2 :(得分:0)

最简单的方法是在模型中添加'SelectedItem'属性:

public class YourModel
{

public IEnumberable<Item> YourCollection
{
get;
}


public Item SelctedItem
{
get;
set;
}


}

然后只需将列表中的每个项目分配给selctedItem属性:

<% foreach (var item in Model.YourCollection) { %>   

Model.SelctedItem = item;

<%= html.EditorFor(SelctedItem) %>   
    ...   
<% } %>