Sha*_*kan 11 c# asp.net-mvc partial-views viewbag
假设您在页面中有人员A列表和人员B列表.这两个是L2S中的单独类,代表两个不同的表.因此,您无法传递单个模型,如下所示:
...
@model PeopleA
...
@foreach(var peopleA in Model.People) ...
@foreach(var peopleB in //what?)
Run Code Online (Sandbox Code Playgroud)
因此,我想,我有三个选择可以遵循.
RenderAction帮助程序传递模型.因为我只会使用这些部分视图一次此选项似乎不吸引我.ModelMyPage.cs
public List<PeopleA> peopleA { get; set; }
public List<PeopleB> peopleB { get; set; }
Run Code Online (Sandbox Code Playgroud)
MyController.cs
...
ModelMyPage m = new ModelMyPage();
m.peopleA = // query
m.peopleB = // another query
return(m);
Run Code Online (Sandbox Code Playgroud)
你明白了.这是完成我的任务的有效方法还是有更好的c#方式来做我想要的?
不,没有更好的主意.在asp.net MVC中,M代表ViewModels,而不是Business,Domain模型.建议您为视图创建ViewModel,并且不建议使用Business Models.您应该设计ViewModel以满足控制器与Domain交互的需要,并从控制器到查看交互
| 归档时间: |
|
| 查看次数: |
6682 次 |
| 最近记录: |