假设您有一个人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#方式来做我想做的事情?