假設您有一個人A的列表和一個人B在一個頁面中的列表。這兩個是L2S中的單獨班級,代表兩個不同的表格。因此,如下您無法通過單一的模式:c#mvc模型vs viewbag
...
@model PeopleA
...
@foreach(var peopleA in Model.People) ...
@foreach(var peopleB in //what?)
因此,我想,我有三種選擇跟隨。
- 第一個是將頁面劃分爲部分視圖,以便我可以通過
RenderAction
助手傳遞模型。由於我只會使用這些局部視圖,因此這個選項似乎對我沒有吸引力。 - 第二個選擇是使用ViewBags,我不想,因爲我更喜歡強類型模型。
- 最後一個,最後,我正要使用,但想這樣做之前要問,是創建一個模型,如下所示:
ModelMyPage.cs
public List<PeopleA> peopleA { get; set; }
public List<PeopleB> peopleB { get; set; }
myController的。 cs
...
ModelMyPage m = new ModelMyPage();
m.peopleA = // query
m.peopleB = // another query
return(m);
你明白了。這是完成我的任務的有效方式,還是有更好的C#方式來做我想做的事情?