ホームページ > ウェブフロントエンド > jsチュートリアル > Html.BeginCollectionItem を使用して ASP.NET MVC 部分ビューで複数のモデル インスタンスを管理するにはどうすればよいですか?

Html.BeginCollectionItem を使用して ASP.NET MVC 部分ビューで複数のモデル インスタンスを管理するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-04 13:27:11
オリジナル
829 人が閲覧しました

How Can I Use Html.BeginCollectionItem to Manage Multiple Model Instances in ASP.NET MVC Partial Views?

Html.BeginCollectionItem を使用してコレクションを部分ビューに渡す

ユーザーがモデルの複数のインスタンスを追加できるフォームを作成する場合、多くの場合、インスタンスごとに部分ビューをレンダリングする必要があります。 ASP.NET MVC は、このプロセスを容易にするための Html.BeginCollectionItem ヘルパーを提供します。

BeginCollectionItem ヘルパーは、モデルの現在のインスタンスのフォーム フィールドを含むテーブル行を作成します。フォームが送信されると、これらのフィールドに入力されたデータは、モデル オブジェクトの対応するプロパティにバインドされます。

BeginCollectionItem を使用するには、まず単一インスタンスのフォーム フィールドを表す部分ビューを作成する必要があります。モデルの。たとえば、_Recipient.cshtml という名前の次の部分ビューについて考えてみましょう。

@model CashRecipientVM
<div>
ログイン後にコピー

この部分ビューは、2 つのテキスト ボックス (受信者と金額) と削除ボタンを含むフォームを定義します。 BeginCollectionItem ヘルパーにより、モデルの各インスタンスに独自のフォーム フィールドのセットが確実に存在します。

メイン ビューで、BeginCollectionItem ヘルパーを使用して、これらの部分ビューのコレクションをフォームに追加できます。例:

@model IEnumerable<CashRecipientVM>
@using (Html.BeginForm())
{
    <div>
ログイン後にコピー

このコードは、CashRecipientVM オブジェクトのリストを含むフォームを作成します。 BeginCollectionItem ヘルパーは、リスト内の各オブジェクトの部分ビューをレンダリングするために使用されます。

フォームには、ユーザーがモデルの追加インスタンスを追加できる「追加」ボタンが含まれています。 「追加」ボタンをクリックすると、別の部分ビューを取得するためにコントローラーに対して AJAX リクエストが行われます。取得された部分ビューはフォームに追加されます。

フォームが送信されると、フォーム フィールドに入力されたデータは、CashRecipientVM オブジェクトの対応するプロパティにバインドされます。その後、コントローラーはこれらのオブジェクトを処理してデータベースに保存できます。

以上がHtml.BeginCollectionItem を使用して ASP.NET MVC 部分ビューで複数のモデル インスタンスを管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート