2008-10-23 129 views
12

我一直在試用MVCContrib中的NameValueDeserializer,它將IList作爲參數傳遞給控制器​​,並將表單及其元素綁定到它,但我只是想知道MVC Beta是否有任何這樣做的方式?複雜的模型綁定到列表

我知道你可以綁定一個強類型的對象,但我想爲這些對象的列表綁定一些批量編輯情況。

例如。

public void Save(IList<Item> items) 
{ 
    foreach (Item i in items) 
    { 
     //Save item 
    } 
} 

這是可能的MVC Beta? 在此先感謝。

回答

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" /> 
+3

注:不再需要名爲「Foo.Index」的隱藏字段,作爲(我相信)RC1。 – Troy 2009-04-30 12:11:29