Html.BeginCollectionItem ヘルパーを使用してコレクションを渡す部分ビュー
この質問は、Html.BeginCollectionItem ヘルパーを使用してコレクションを渡す方法について説明します。コントローラーの部分的なビュー。ユーザーは部分ビュー、メイン ビュー、およびデータを処理するコントローラーを実装しましたが、AddRecord() メソッドが例外をスローし、BeginCollectionItem ヘルパーの非表示タグが新しいフィールドの前後に挿入されません。
回答
これらの問題を解決するには、次の提案があります。アプローチ:
-
データを表す View Model を作成する: 編集するデータに合わせて View Model を定義します。このモデルには、編集する必要があるフィールドのプロパティが含まれている必要があります。
-
ビュー モデルを使用して部分ビューを作成する: 部分ビューを作成し、ビュー モデルをデータ モデルとして使用します。部分的。部分ビュー内で、Html.BeginCollectionItem ヘルパーを使用してフォーム要素をレンダリングします。
-
メインの GET メソッドを構成します: コントローラーでは、GET メソッドは、次のビュー モデルを表すビュー モデルのリストを返す必要があります。編集するデータ。
-
メイン ビューの作成: メイン ビューは反復する必要があります。ビュー モデルのリストを使用して、コレクション内の各項目の部分ビューをレンダリングします。新しい項目の追加と既存の項目の削除を処理するスクリプトを含めます。
-
コントローラーに AddRecord メソッドを実装します: このメソッドは、コントローラーへのデータのポストバックを処理する必要があります。データを検証し、検証が成功したら変更を永続化する必要があります。
これらの手順を実装すると、部分ビューで Html.BeginCollectionItem ヘルパーを使用してデータのコレクションを効果的に渡すことができ、ユーザーはデータを編集してコントローラーに送信します。
以上がHtml.BeginCollectionItem を使用して部分ビューからコントローラーにコレクションを渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。