クラスを両方のオブジェクトとして持つビューモデルクラスを作成します。タイプセーフである。
public class ViewModelForDisplay
{
public Clothes Clothes {get; set;}
public Shoes Shoes {get; set;}
}
//on Controller
Clothes objClothes = GetClothes();
Shoes objShoes = GetShoes();
ViewModelForDisplay objViewModel = new ViewModelForDisplay() {Clothes = objClothes, Shoes= objShoes }
ViewBag.Itを使用することによってそれを行うための他の簡単な方法は、オブジェクトを動的それに追加の特性を有することを可能にするC#4に加えた動的特徴を使用します。そのタイプセーフです
ViewBag.Shoes= objShoes ;
ViewBag.Clothes= objClothes ;
また、ViewDataを使用してオブジェクトをhtmlに渡すこともできます。これはタイプセーフではありません。それは、私は非常に興味深い記事を見つけました
ViewData["Clothes "] = objClothes ;
ViewData["Shoes "] = objShoes ;
ビューモデルは好ましいアプローチです。 – RickAndMSFT
さらに、モデル(データベースオブジェクト)をビューに渡すことはお勧めできません。必要なフィールドのみでViewModelを作成する –
リプレイとコードサンプルを与えてくれてありがとう、コントローラを拡張する可能性はありますか?それは私にとってはうまくいかない。 – user1448260