asp.net-mvc – 在MVC3中,我应该有独立的“编辑”模型与“显示”
使用MVC3,我应该设计我的视图模型,以便有一个绑定到视图(DisplayModel)和一个发布回控制器(EditModel)?
为了澄清,我不是问数据模型与视图模型 – 我知道将我的视图/控制器绑定到数据/域模型是不好的。 我也不是要求分两个视图共享一个模型,一个用于显示数据的视图,另一个用于编辑数据的视图。 相反,我询问一个用于编辑数据的视图,以及绑定到视图的模型与绑定到控制器动作的模型。 换句话说,如果这是我的观点: @model MyApp.Models.CustomerModel 我的控制器操作应该如下所示: public ActionResult Index(CustomerModel model) 要么: public ActionResult Index(CustomerEditModel model) 有一点,我们正在做后者(分开)。但最近,我们已经开始做前者(共享)了。 这种变化的原因是因为: >如果我使用MVC3进行验证,如果我使用DataAnnotations对我的模型进行验证,如果两者都是分开的(在显示模型上映射客户端验证,并且在服务器端验证的编辑模型上) )。 但是我已经看到一些其他的讨论,指出共享模型视图/控制器是一个坏主意,和it violates分离的关注。 有人能帮我理解这两种方法的权衡吗? 解决方法
我已经看到完美的论据和反对,只是取决于最适合你的应用程序。没有一个适合所有可以应用的方法!
如果您还没有阅读,Jimmy Bogard写了一篇非常好的帖子,说明他的团队是如何做MVC here,涵盖了这个主题。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 我应该为ASP.net创建一个JQuery服务器控件,以便在我的应用程
- ASP.NET 高性能分页代码
- ASP.NET Core使用Jaeger实现分布式追踪
- ASP.NET Core 1 RC2 Web应用入门点
- asp.net-mvc – Firefox 4不呈现部分页面
- asp.net – 安装Ninject.MVC5后的FileLoadException
- asp.net-mvc – ASP.NET MVC5/IIS Express无法调试 – 代码
- asp.net-core – 什么是aspnet50和aspnetcore50?
- 通过对象方法获取委托_C#反射获取委托_
- asp.net – SQL查询无法按预期工作