2011-09-13 10 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"> 

これは私のモデルにちょうど良いバインドです。しかし、フォームから1つ以上の行を削除するために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を使用してすべてのインデックスを再作成しないようにしたいと思います。

ありがとうございます!

- 私はポストは非連続インデックス問題の回避策を含み、それはまだMVC 3に関連している場合ではないと確信しているが、

答えて

関連する問題