我一直在尝试从MVCContrib获取NameValueDeserializer,它将IList作为控制器的参数并将表单及其元素绑定到它,但我只是想知道MVC Beta是否有任何方法可以做到这一点?
我知道你可以绑定一个强类型的对象,但我想绑定一些这些对象的List来进行批量编辑。
例如
public void Save(IList<Item> items)
{
foreach (Item i in items)
{
//Save item
}
}
这在MVC Beta中是否可行? 在此先感谢。
答案 0 :(得分:17)
是的,我写了一篇详细的blog post about it here。对于简单类型来说这很容易。对于复杂类型,您需要执行以下操作:
<input type="hidden" name="products.Index" value="0" />
<input type="text" name="products[0].Name" value="Beer" />
<input type="text" name="products[0].Price" value="7.32" />
<input type="hidden" name="products.Index" value="1" />
<input type="text" name="products[1].Name" value="Chips" />
<input type="text" name="products[1].Price" value="2.23" />
<input type="hidden" name="products.Index" value="2" />
<input type="text" name="products[2].Name" value="Salsa" />
<input type="text" name="products[2].Price" value="1.23" />