我在將多個模型傳遞給單個視圖時遇到問題,在閱讀了其他文章之後,我需要創建一個單獨的類並實例化該類並將該實例化的類返回給風景。但是,我將如何做到這一點?將多個模型傳遞給視圖
我想用Entity Framework和Linq做查詢。如果你能提供給我學習的示例代碼...
我在將多個模型傳遞給單個視圖時遇到問題,在閱讀了其他文章之後,我需要創建一個單獨的類並實例化該類並將該實例化的類返回給風景。但是,我將如何做到這一點?將多個模型傳遞給視圖
我想用Entity Framework和Linq做查詢。如果你能提供給我學習的示例代碼...
你既可以做到快速,骯髒的方式,使用動態:
dynamic viewdata = new ExpandoObject();
viewdata.object1 = Model1;
viewdata.object2 = Model2;
return View(viewdata);
或者你可以做到這一點,並創建一個viewmodel。
class ViewModel1 {
public MyModel Model1 { get; set; }
public MyOtherModel Model2 { get; set; }
}
ViewModel1 viewdata = new ViewModel1();
viewdata.Model1 = Model1;
viewdata.Model2 = Model2;
return View(viewdata);
用於偏好viewModel的+1 –
使用
public ActionResult Index()
{
SomeClass1 object1 = new SomeClass1();
SomeClass2 object2 = new SomeClass2();
ViewData["someName1"]=object1;
ViewData["someName2"]=object2;
return View(ViewData);
}
在View頁面,您可以訪問它們爲:
<% SomeClass1 object1 = ViewData["someName1"] as SomeClass1; %>
<% SomeClass1 object2 = ViewData["someName2"] as SomeClass2; %>
創建一個視圖模型。視圖模型是一種通常由其他模型組成的模型,並且不綁定到您的數據模型。 MvcMusic演示有一個使用視圖模型的好例子。
雖然ViewData
將工作其不是類型安全,基本上取決於魔術弦,所以我會避免它。
[推薦本] [1] [1]:http://stackoverflow.com/questions/4764011/multiple-models-in-a-view –