2011-09-09 64 views
1

我需要一些關於如何生成數據來自3/4模型的視圖的建議。 我附上了一個圖像,其中數據來自3個模型。我已經使用3種不同的GridView並綁定了不同的數據源,以網頁形式完成了這些工作。需要幫助來生成視圖,其中數據來自多個模型

但現在我必須在MVC 3中做同樣的事情,並發現它很難。 我真的很感激,如果有人可以給我一些關於如何產生這種觀點的指導方針。

enter image description here

回答

0

你可以通過通過所有的型號爲「樣板」對象的屬性,然後用局部視圖,從而使得各部分,通過他們使用的特定模式。

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

或者,使用子動作,並有一個單獨的頁面位操作方法。即添加到您的父視圖:

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

優勢與後者是可以使用的緩存策略([的OutputCache]在你的action屬性),用於這是更靜態的其他部分部分頁面。

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模板渲染視圖。

相關問題