asp.net-mvc – asp.net MVC应该是View-Model封装域模型吗?
发布时间:2020-12-15 19:56:58 所属栏目:asp.Net 来源:网络整理
导读:我已经看到很多MVC示例,其中domain-objects直接传递给视图,如果您的视图很简单,这将正常工作. 常见的替代方法是使视图模型具有与域模型相同的属性,以及视图可能需要的任何额外属性(例如“confirmPassword”). 在进行太多阅读之前和发现AutoMapper之前,我开始
我已经看到很多MVC示例,其中domain-objects直接传递给视图,如果您的视图很简单,这将正常工作.
常见的替代方法是使视图模型具有与域模型相同的属性,以及视图可能需要的任何额外属性(例如“confirmPassword”). 在进行太多阅读之前和发现AutoMapper之前,我开始创建自己的视图模型变体,其中域对象(或多个域对象)只是视图模型的属性. 我做了一件坏事吗?这种方法可以带来哪些问题或好处? 解决方法
将您的域模型直接暴露给视图并没有什么本质上的坏处.主要风险来自于暴露您不想要的属性,例如Employee对象上的工资字段.如果您要返回
JSON,请务必注意这一点.
需要注意的另一件事是当你从编辑表单绑定回来时.您应该了解所涉及的具体risks.基本上,恶意用户可以向POST添加字段,这些字段恰好匹配您不想编辑的字段.我总是绑定到一个中间对象,该对象在将其映射回域之前传递给服务. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 从经典ASP检测移动用户代理并在会话启动时重定向
- asp.net-mvc – 具有键’XXX’的ViewData项的类型为’Syste
- asp.net核心 – ASP.NET核心MVC查看组件
- asp.net-mvc – 如何使这个ASP.NET MVC控制器更易于测试?
- asp.net – 如何在ZedGraph中的每个点显示标签?
- asp.net – “’Microsoft.Jet.OLEDB.4.0’提供程序未在本地
- asp.net-mvc – MVC打开pdf文件
- asp.net – 如何在Sitecore中以编程方式创建项目
- asp.net-mvc – 我的ASP.NET MVC应用程序是否正确构建?
- asp.net-mvc – 集成测试MVC应用程序,没有UI自动化的痛苦
推荐文章
站长推荐
热点阅读