Html.BeginCollectionItem ヘルパーを使用してコレクションを渡す Partial View
この質問では、オブジェクトのコレクションを Partial に渡す問題について説明します。データを表示し、コントローラーに正常に送信します。一見正しい実装のように見えますが、AddRecord() メソッドは失敗し、BeginCollectionItem ヘルパーは新しく追加されたフィールドに必要な隠しタグを生成していませんでした。
問題の分析
問題の根本原因は、コントローラーが予期するオブジェクト タイプと送信されるデータの不一致にあります。提供されたコードでは、ビュー モデルは CashRecipientVM に変更されましたが、コントローラー アクションは依然として CashRecipient 型のモデルを予期していました。
解決策
この問題を解決するには、次のようにします。次の手順が実行されました:
作成ViewModel (CashRecipientVM) の:
部分図(_Recipient.cshtml):
Recipient() メソッド (コントローラー内):
メイン GET メソッド (Create):
メイン ビュー:
JavaScript:
フォームの POST アクションの更新 (作成):
これらの変更を実装することで、アプリケーションは CashRecipientVM データを正常にバインドし、受信者の動的な追加と削除が可能になり、データをコントローラーに正しく送信できるようになりました。
以上がASP.NET MVC でコレクションを部分ビューに正常に渡し、データ送信を処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。