私の見解では、2 つの部分的な見解があります。
- 最初の部分ビュー (PV1) : ユーザーはテキスト ボックスに項目を入力し、ajax フォームから送信できます。
- 2 番目の部分ビュー (PV2) : ユーザーは、以前に送信された項目のリストを表示できます。
PV1 はUpdateTargetId
PV2 の div で使用します。これは、新しく追加された項目でリストを更新するためです。
PV1 で提出されたアイテムが有効な場合、すべてがうまく機能します。ModelState.IsValid == false
ajaxフォームが送信されたときに機能しません。UpdateTargetId が PV2 にあるため機能しません。ModelState エラーを表示するには PV1 を更新する必要があります。そのため、PV2 で PV1 の複製が発生しました。
以下は、同様の問題に関する別のスタックオーバーフローの投稿ですが、解決策は提供されていません。
ModelState が無効な場合、ASP.NET MVC AJAX は UpdateTargetId を変更します
Jsonの代替案が解決策になると思いますが、標準のAjax フォームメソッドをここでのニーズに合わせて適応できるかどうか疑問に思っています。