2011-09-09 4 views
1

データが3/4モデルから来るビューを生成する方法に関するいくつかの提案が必要です。 データが3つのモデルから来ているイメージを添付しました。私は3つの異なるグリッドビューを使用し、異なるデータソースをバインドするWebフォームでこれを行っています。データが多くのモデルから来るビューを生成する助けが必要

しかし、今私はMVC 3で同じことをする必要があり、それを見つけるのは難しいです。 このようなビューを生成する方法について、誰かに私にガイドラインを教えていただければ幸いです。

enter image description here

答えて

0

あなたは、「モデル」オブジェクトのプロパティとして、すべてのモデルを通過した後、彼らが使用する特定のモデルを通過し、各セクションをレンダリングするパーシャルビューを使用することができます。

@Html.Partial("ViewName", this.Model.SubModel) 

または、子アクションを使用し、ページのビットに対して別のアクション方法を使用します。つまり、あなたの親ビューにこれを追加します。後者は

@Html.Action("ActionName", "ViewName") 

利点は、あなたが他の部分より多く静的で、あなたのページの一部のためのキャッシュポリシー(あなたの行動上の[OutputCache]属性)を使用することができます。

2

私は3つのプロパティ

public class CompositeModel 
{ 
    public MenuModel Menu {get; set;} 
    public OrderModel Order {get; set;} 
    public RestaurantModel Restaurant {get; set;} 
} 

を含むモデルを定義し、表示するには、このモデルを渡します。

0

partialViewsを使用してページにレンダリングしたり、Viewbagで必要なだけ多くのデータを渡すことができます。例:

ViewBag.Model1 = yourModel1; 
ViewBag.SomeData = someOtherData;..... 

そしてビューで、あなたがそれを使用yust:

@ViewBag.Model1 

あなたも、AJAX呼び出しを介してデータを得ることができ、そして、あなたのサンプルのルックスで、私はそのアプローチを取るとjQueryテンプレートを使用しますビューをレンダリングする。

関連する問題