gpt4 book ai didi

asp.net-mvc - 当您的 View 模型没有与域模型一样多的字段时,您如何忽略/保留 MVC 中的值?

转载 作者:行者123 更新时间:2023-12-04 15:28:19 26 4
gpt4 key购买 nike

我有一个使用 fluentNhibernate 和 Asp.net MVC 的网站。我有一个编辑 View ,允许用户编辑该记录(对象)的 10 个属性中的 8 个。当您提交表单并绑定(bind)模型时,这两个不可编辑的字段会作为空字符串或默认的 DateTime 值返回到 View 模型中,具体取决于属性的类型。

因为我还使用 AutoMapper 将我的 View 模型映射到我的域实体,所以我不能只从数据库中加载我的对象的新副本并手动设置 2 个缺失的属性。保留那些我不想编辑的字段的最佳方法是什么?

一种可行的方法是将值保留在我的 View 上隐藏的输入字段中。这行得通,但感觉很恶心。我感谢任何建议。我的 AutoMapper 中有没有办法配置这个所需的功能?

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

最佳答案

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

关于asp.net-mvc - 当您的 View 模型没有与域模型一样多的字段时,您如何忽略/保留 MVC 中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1274575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com