asp.net-mvc – 哪一层应该构建一个View Model?
发布时间:2020-12-15 22:54:54 所属栏目:asp.Net 来源:网络整理
导读:我正在使用S#arp架构,我不记得我在哪里阅读,但他们说他们的ViewModels应该存储在服务层,你的视图应该提交viewmodel到服务进行处理. 我的问题是这个.哪一层应该构造ViewModel?应该在服务层,控制器要求吗?还是控制器本身呢?还有一个关于更新视图模型的问题,
我正在使用S#arp架构,我不记得我在哪里阅读,但他们说他们的ViewModels应该存储在服务层,你的视图应该提交viewmodel到服务进行处理.
我的问题是这个.哪一层应该构造ViewModel?应该在服务层,控制器要求吗?还是控制器本身呢?还有一个关于更新视图模型的问题,就像它包含集合一样,并且模型状态无效,您还需要重新排列任何列表. 有什么建议么? 非常感谢 马特 解决方法
我在控制器内创建视图模型.控制器采用域实体(由模型绑定器从数据库中检索),可能在其他视图模型内部,联系信息库以获取其他数据,创建新视图模型,并将其传递到适当的视图(或重定向).所以控制器的职责就是根据输入的域数据准备视图/视图模型(当然处理错误).
您可以查看here替代在控制器中创建视图模型.这种技术将视图模型创建移动到动作之外,这样不仅控制器操作接受纯域对象,而且还返回纯域对象.我不会说在任何情况下都适合,但学习非常有趣. 与AutoMapper相关的上述技术也引起了类似于“我应该将viewmodel传递给服务层”的问题.不,你不如果需要将复杂对象传递到服务或域层,则可以在相应的服务/域层中定义该对象,并使用它将数据传递到这些层.然后可以将该对象轻松映射到视图模型(例如,使用AutoMapper).但是您的下层(服务/域)不应与上层(视图/控制器)耦合.不是在这种情况下,不在其他的情况.从不低层次应该依赖于它们上面定义的东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 你如何安装Castle Windsor IOC?
- asp.net-web-api – OAuthBearerAuthenticationMiddleware
- 从ASP.NET IIS运行时,Powershell启动作业,等待作业,主机线程
- asp.net-mvc – 如何在Google.Apis调用中使用ASP.NET MVC O
- asp.net – IIS不下载胡须文件
- asp.net-mvc – 图像URL中的&符号MVC导致一个潜在危险的
- asp.net-mvc – MVC @ Html.CheckboxFor在表单提交时提交tr
- asp-classic – 如何从Classic ASP Request获取* actual *
- 如何在asp.net核心中使用ViewDataDictionary和Html.Partial
- asp.net – .NET Developer的Vagrant文??件(具有Windows,II