asp.net-mvc-4 – ViewModels或ViewBag?
|
我是相当新的MVC4,EF5和ASP.Net,我似乎不能找到一个好的答案在任何地方。 基本上,如果一切都通过viewmodel完成或者是否也包含viewbag? 假设我有一个方法填充下拉列表,我使用viewmodel来表示视图的输出。 我可以使用Viewbag.DropDown = PopulateDropdown();或者最好加入 我知道ViewBag是多么方便,但我还没有看到任何坚实的理由,不使用它?如果任何人也能给我一些更多的洞察力,那将是太棒了。 解决方法
一切都应该在视图模型内完成。这是一个视图模型。您特别定义的类,以满足您的视图的要求。不要将ViewBags与ViewModel混用。视图不再清楚信息是从哪里来的。只使用视图模型(我推荐的方法)或只使用ViewBags。但不要混合2。 所以在你的具体例子中,你的视图模型上有一个属性,类型为IENumerable< SelectListItem>在你的视图中,你将使用强类型版本的Html.DropDownListFor帮助器来绑定到模型: @Html.DropDownListFor(x => x.ProductId,Model.Products) 显然这些只是我的2美分。其他人会说,混合ViewModels和ViewBags是罚款,我尊重他们的意见。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 单元测试ASP.Net MVC Action结果,调用Serve
- ASP.NET MVC与Facebook Connect模板项目
- 来自ASP.NET MVC站点的“无效的JSON原语:alihack”错误
- asp.net – Mocking HttpContext不起作用
- 可以将图像添加到ASP.NET按钮吗?
- 实体框架 – 带有实体框架的MVC 3和ASP.Net脚手架错误:没有
- asp.net-mvc-4 – 在ASP.NET MVC4 WebAPI中实现ETag支持
- asp.net – 禁止从网页复制数据
- asp.net-mvc – NUnit中的MbUnit的行属性?
- asp.net – 为什么在“Glimpse Web Debugger”中没有显示“
- .net – 默认启用UnsafeHeaderParsing是否可以接
- asp.net-mvc – 如何在MVC中完全分离视图和模型
- asp.net – 可以在机器之间复制Cookie以假冒用户
- asp.net-mvc – Asp.Net MVC和Session
- ASP.NET Page_Init被解雇了两次!
- asp.net-mvc – ASP.NET MVC – CustomeAuthoriz
- asp.net-mvc-4 – ASP.NET MVC 4单独项目中的区域
- .net – 如何在ASP成员资格中使用LogOut
- asp.net – 我可以使用Chrome DevTools在客户端查
- ASP.NET Forms身份验证和持久身份验证Cookie安全
