假设您在页面中有一个人员A列表和一个人员B列表。这两个是L2S中的独立类,代表两个不同的表。因此,您不能通过单个模型,如下所示:
...
@model PeopleA
...
@foreach(var peopleA in Model.People) ...
@foreach(var peopleB in //what?)
因此,我想我有三个选择。
RenderAction
帮助器传递模型。因为我只会使用这些局部 View 一次,但这个选项似乎对我来说并不吸引。 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#方法来完成我想要的工作?
最佳答案
创建一个特定于该页面的ViewModel,就像您选择的3一样。
我相信这也是推荐的方法。