ASP.NET MVC2、特にビューモデルとパーシャルを試しています。私の質問は次のとおりです。パーシャルをインターフェースに対して強く型付けし、ビューがパーシャルを使用する場合、ビューモデルにそのインターフェースを実装させることは「有効」または「正しい」ですか?
説明のために、編集ビューと作成ビューの両方で使用される製品フォームの部分 (IProductFormViewModel に対して厳密に型指定された) があるとします。これらのビューは、IProductFormViewModel を実装する ProductEditViewModel および ProductCreateViewModel に対して厳密に型指定されます。
利点は、Create と Edit の対応する POST アクションがそれぞれ ProductCreateViewModel と ProductEditViewModel オブジェクトを取ることです。
編集: パーシャルに専用のビューモデル (ProductFormViewModel) があり、ProductEditViewModel と ProductCreateViewModel のそれぞれが、パーシャルに渡される ProductFormViewModel タイプのプロパティを公開する場合、フォームが送信されると、ProductEditViewModel と ProductCreateViewModel のモデル バインディングは機能しません。 Edit アクションと Create アクションはそれぞれのオブジェクト タイプを想定しているため、これがアプローチの理由です。