我有一个网站,我正在使用 FluentNhibernate 和 Asp.net MVC。我有一个编辑视图,允许用户编辑该记录(对象)的 10 个属性中的 8 个。当您提交表单和模型绑定时,两个不可编辑的字段将作为空字符串或默认日期时间值返回到视图模型中,具体取决于属性的类型。
因为我还使用 AutoMapper 将视图模型映射到域实体,所以我不能只从数据库加载对象的新副本并手动设置 2 个缺少的属性。保留那些我不想编辑的字段的最佳方法是什么?
一种有效的方法是将值保留在我的视图上隐藏的输入字段中。这确实有效,但感觉很恶心。我很感激任何建议。我的 AutoMapper 中有没有办法配置这个所需的功能?
UPDATE:好的,所以我想我并不是试图忽略这些字段,而是试图确保我不会保留 null 或空字符串值。忽略 AutoMapper 中的字段就是这样做的,当我尝试在保存到存储库之前映射它们时,它们会被忽略并且为空。
asp.net mvc DefaultModelBinder 是可扩展的,您可以覆盖它以创建您自己的绑定架构。但这将涉及比两个“隐藏输入字段”更多的工作,在我看来,这并不是那么恶心。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)