如果我创建了一个视图模型并且具有一个部分表单,它是视图模型的创建表单。但是现在我想把一个列表模型放到我的表单中,并能够循环遍历每个项目,并根据其中一个属性将一个字符串附加到Name和id字段的末尾。或者使用Html帮助程序为列表中的每个项目提供唯一的名称和ID。我希望这样做的原因是因为save方法必须能够接受在表单post中创建的所有实体。或者我应该通过Jquery循环并做所有的craetes和事情?
答案 0 :(得分:0)
您可以模型绑定到集合。您不需要为每个项目赋予唯一的名称,只需为其添加索引,例如
<% for (int i = 0; i < Model.Products.Count; i++)
{ %>
<%= Html.TextBox("ID", Model.Products[i].Id) %>
}%>
然后让控制器接受IList<Product>
,它会自动填充集合。
有关详细信息,请参阅Haacked Blog上的Model Binding To A List或ASP.NET MVC Model binding to a list。