Rid*_*ick 33 viewmodel viewbag asp.net-mvc-4
我是MVC4,EF5和ASP.Net的新手,我似乎无法在任何地方找到一个好的答案.
基本上,是否应该通过视图模型完成所有操作,还是可以合并viewbag?
假设我有一个填充下拉列表的方法,我使用viewmodel来表示视图的输出.
我可以使用Viewbag.DropDown = PopulateDropdown();或者将它合并到ViewModel中更好,通过创建一个属性来保存List<SelectListItem>创建者PopulateDropdown();吗?
我知道ViewBag有多方便,但是我还没有看到任何不使用它的坚实理由?如果有人也能为我提供更多的见解,那就太棒了.
Dar*_*rov 49
基本上,是否应该通过视图模型完成所有操作,还是可以合并viewbag?
一切都应该在视图模型中完成.这就是视图模型.您专门定义的类,以满足视图的要求.不要将ViewBags与ViewModels混合使用.对于查看来自何处的信息不再清楚.要么只使用视图模型(我推荐的方法),要么只使用ViewBags.但不要混淆2.
因此,在您的特定示例中,您将在视图模型上具有类型的属性,IENumerable<SelectListItem>并且在视图内部,您将使用强类型版本的Html.DropDownListFor帮助程序绑定到模型:
@Html.DropDownListFor(x => x.ProductId, Model.Products)
Run Code Online (Sandbox Code Playgroud)
显然这些只是我的2美分.其他人会说混合ViewModels和ViewBags很好,我尊重他们的意见.
| 归档时间: |
|
| 查看次数: |
14372 次 |
| 最近记录: |