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 – MVC应用程序部署; System.Data.SqlClient.S
- asp.net-mvc – ASP.NET MVC.如何创建接受和multipart / fo
- asp.net-mvc – 如何在ASP.Net MVC 3中可选地呈现一个部分?
- entity-framework – Entity Framework EntityType’UserAc
- 如何从Asp.Net核心身份验证中获取策略列表?
- asp.net-mvc – 在自定义Html帮助器中访问模型对象
- 从ASP.NET应用程序写入IIS日志
- asp.net – 如何使我的硒测试不那么脆弱?
- asp.net-mvc-4 – ASP.NET MVC 4会员“记住我”如何运作?