2

テーブルの部分ビューを返す MVC4 アクションがあり、Model. このコレクションへの追加は、 と呼ばれるコントローラー アクションへの AJAX 要求を使用して行われAddItem(Model model)ます。

ユーザーがその行のボタンをクリックすると、テーブルから行を削除するクライアント側の JavaScript メソッドがあります (このブログ エントリに大まかに基づいています)。

function removeLine(button) {
    $(button).closest("tr").remove();
}

これによりビュー内の行が削除されますが、5 つの行があり、2 番目の行を削除すると、アクションにポストバックするときに最初の行のみがモデルにバインドされます。コレクション プロパティには、削除されたインデックスまでが含まれ、後続の項目を無視します。

これは、インデックスが 0 から 2 にジャンプするためであり、フォーム データからモデルにバインドされる項目がこれ以上ないと考えられるためです。

削除された行の後のアイテムがモデルにバインドされるようにするにはどうすればよいですか?

4

1 に答える 1

0

この質問に答えるために、コメントで @ataravati が別の方法を提案しました。モデルバインダーが理解するGUIDインデックスシステムを導入するため、私はこの方法を採用しました。

于 2013-07-29T07:32:19.380 に答える