加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 当您的视图模型没有域模型那么多字段时,如何忽略

发布时间:2020-12-16 03:46:14 所属栏目:asp.Net 来源:网络整理
导读:我有一个网站,我使用fluentNhibernate和 Asp.net MVC.我有一个编辑视图,允许用户编辑该记录(对象)的10个属性中的8个.当您提交表单并且模型绑定时,两个不可编辑的字段在视图模型中返回为空字符串或默认的DateTime值,具体取决于属性的类型. 因为我也使用AutoMa
我有一个网站,我使用fluentNhibernate和 Asp.net MVC.我有一个编辑视图,允许用户编辑该记录(对象)的10个属性中的8个.当您提交表单并且模型绑定时,两个不可编辑的字段在视图模型中返回为空字符串或默认的DateTime值,具体取决于属性的类型.

因为我也使用AutoMapper将我的视图模型映射到我的域实体,所以我不能只从数据库加载我的对象的新副本并手动设置2个缺少的属性.什么是坚持那些我不想编辑的领域的最好方法?

一种方法是将值保存在View上的隐藏输入字段中.这有效但感觉很糟糕.我感谢任何建议.我的AutoMapper中有没有办法配置这个所需的功能?

更新:
好的,所以我想我不是要忽略这些字段,我正在努力确保我不会保留null或空字符串值.忽略AutoMapper中的字段就是这样,当我尝试在保存到我的存储库之前映射它们时,它们会被忽略并且为null.

解决方法

asp.net mvc DefaultModelBinder是可扩展的,您可以覆盖它以创建自己的绑定模式.但这将涉及比两个“隐藏的输入字段”更多的工作,在我看来,这并不是那么严重.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读