asp.net-mvc – 哪一层应该构建一个View Model?
|
我正在使用S#arp架构,我不记得我在哪里阅读,但他们说他们的ViewModels应该存储在服务层,你的视图应该提交viewmodel到服务进行处理. 我的问题是这个.哪一层应该构造ViewModel?应该在服务层,控制器要求吗?还是控制器本身呢?还有一个关于更新视图模型的问题,就像它包含集合一样,并且模型状态无效,您还需要重新排列任何列表. 有什么建议么? 非常感谢 马特 解决方法我在控制器内创建视图模型.控制器采用域实体(由模型绑定器从数据库中检索),可能在其他视图模型内部,联系信息库以获取其他数据,创建新视图模型,并将其传递到适当的视图(或重定向).所以控制器的职责就是根据输入的域数据准备视图/视图模型(当然处理错误).您可以查看here替代在控制器中创建视图模型.这种技术将视图模型创建移动到动作之外,这样不仅控制器操作接受纯域对象,而且还返回纯域对象.我不会说在任何情况下都适合,但学习非常有趣. 与AutoMapper相关的上述技术也引起了类似于“我应该将viewmodel传递给服务层”的问题.不,你不如果需要将复杂对象传递到服务或域层,则可以在相应的服务/域层中定义该对象,并使用它将数据传递到这些层.然后可以将该对象轻松映射到视图模型(例如,使用AutoMapper).但是您的下层(服务/域)不应与上层(视图/控制器)耦合.不是在这种情况下,不在其他的情况.从不低层次应该依赖于它们上面定义的东西. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何检查ASP.Net中客户端(JavaScript)的Page.Validate()?
- asp.net – 更好的方式来获取页面名称
- asp.net-mvc-3 – ASP.NET MVC 3书籍计划
- 使用ASP.NET WebForms的xVal示例?
- 为什么我的客户端去服务器来检查在使用ASP.NET MVC包时是否
- asp.net – 什么是SNIReadSyncOverAsync,为什么需要很长时间
- asp.net-mvc-3 – ASP.NET MVC 3 JSONP:这适用于JsonValue
- asp.net-mvc – 在默认路由的ASP.NET MVC中的Url.Content的
- asp.net-mvc-3 – 在ASP.NET MVC3中的自定义授权属性中使用
- 动态加载asp.net网站中的用户控件(ascx)
- asp.net-identity – UseOAuthBearerTokens vs U
- asp.net-mvc – 如何使用Autofac将控制器的Model
- 在Build上自动停止/重新启动ASP.NET开发服务器
- asp.net-core – .NET Core 1.0 – 如何使用xUni
- ASP.NET Web API请求完成后如何处置资源?
- 如何为高使用率的ASP.NET应用程序重新平衡SQL Se
- ASP.NET错误处理
- asp.net-web-api2 – SwashBuckle / Swagger –
- .net – REST API:与身体的GET请求
- asp.net-mvc – asp.net mvc错误处理的最佳做法
