2011-09-13 37 views
5

我有一個包含文本框的長度可變的列表形式,呈現..MVC /剃刀模型綁定集合時的元素是使用一個類似的模板缺少

@Html.TextBox("items[" + itemIndex + "].Title", someValue) 

所以最終呈現的HTML看起來像這樣...

<input id="items_0__Amount" type="text" value="Apple" name="items[0].Title"> 
<input id="items_1__Amount" type="text" value="Banana" name="items[1].Title"> 
<input id="items_2__Amount" type="text" value="Orange" name="items[2].Title"> 

在表單提交這綁定到我的模型就好了。但是,我有一個刪除按鈕,它使用Javascript從表單中刪除一行或多行。問題是,如果你刪除說中間行,HTML看起來像這樣...

<input id="items_0__Amount" type="text" value="Apple" name="items[0].Title"> 
<input id="items_2__Amount" type="text" value="Orange" name="items[2].Title"> 

...和索引不再連續。這似乎混淆了MVC和我的模型綁定只通過第一行,而不是最後一個。我做錯了什麼,或者如果列表中的索引不是連續的,MVC就會失敗?這個問題的最佳解決方案是什麼?

我想避免使用JS重新索引一切,如果可能的話。

謝謝!

回答