初めての MVC プロジェクトを構築していますが、モデルについて質問があります。
各 Web ページには 1 つのモデルのみを含めることができますが、私のページには 2 つのモデルが必要です。1 つは検索オプション (価格帯、色などの選択など、検索を絞り込む機能) とデータです。
この場合、SearchModel と ProductModel の 2 つのプロパティしか持たない ViewModel に似た、新しいモデルを作成するのと同じくらい簡単ですか?
初めての MVC プロジェクトを構築していますが、モデルについて質問があります。
各 Web ページには 1 つのモデルのみを含めることができますが、私のページには 2 つのモデルが必要です。1 つは検索オプション (価格帯、色などの選択など、検索を絞り込む機能) とデータです。
この場合、SearchModel と ProductModel の 2 つのプロパティしか持たない ViewModel に似た、新しいモデルを作成するのと同じくらい簡単ですか?
ビューに 2 つのモデルが必要な場合は、この質問で役立つ情報が得られる可能性があります。
編集:
良い例は、新しい mvc アプリのデフォルトの「アカウント」コントローラーの「管理」ビューです。部分ビューを使用して、ユーザーのパスワードの変更を処理します。どちらのビューも同じモデル タイプを使用していますが、部分ビューを実装する方法を示しています。この場合、メイン ビューと部分ビューの両方がコントローラーの同じメソッドに送信されるため、同じモデル (コントローラー メソッドのパラメーター) を使用する必要があります。しかし、パーシャルが別のコントローラー メソッドを呼び出す場合、送信されたモデルは異なる可能性があります。これが理にかなっていることを願っています:)
はい、実際には 2 つの「モデル」があり、混乱することがあります。「ビュー モデル」と「ドメイン モデル」があります。ビュー モデルは、ビューと直接やり取りされます。ドメイン モデルは、扱っている実際のドメインを記述し、データベースが保持するものです。多くの場合、単一の実際のドメイン オブジェクト (車など) の情報を表示している場合など、それらは同じものです。1 つのページに 2 つのドメイン モデルがある場合は、両方をプロパティとしてビュー モデルを作成する必要があります。