当视图模型没有域模型那么多的字段时,如何忽略/保留 MVC 中的值?

2024-01-26

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

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

一种有效的方法是将值保留在我的视图上隐藏的输入字段中。这确实有效,但感觉很恶心。我很感激任何建议。我的 AutoMapper 中有没有办法配置这个所需的功能?

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


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当视图模型没有域模型那么多的字段时,如何忽略/保留 MVC 中的值? 的相关文章

  • ASP.NET MVC 防伪造令牌不安全

    在没有 ssl 的情况下向服务器发出请求时 我实际上可以看到 MVC3 框架以纯文本形式生成的验证令牌密钥 该密钥存储在名为 RequestVerificationToken Lw 的 cookie 中 在混合安全环境中 实际上可以在向非
  • 实体框架 - 选择特定列并返回强类型而不丢失强制类型转换

    我正在尝试做类似的事情这个帖子 https stackoverflow com questions 1094931 linq to sql how to select specific columns and return strongly
  • 如何在单击按钮时重新绑定 igGrid igniteUI 控件中的数据?

    我在 ASP NET MVC3 应用程序中使用 Infragistics Ignite UI 控件 我有一个已绑定到 客户 数据的网格 工作正常 现在我有按钮了 单击后我会进行 ajax 调用 在控制器中 我编写了仅选择 客户 数据的一部分
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器
  • jsFiddle 中的 jQuery 不显眼的自定义适配器和方法

    我无法使 jsFiddle 工作 但它可以在浏览器中工作 http jsfiddle net vtortola jYq2X http jsfiddle net vtortola jYq2X 我正在尝试添加新的自定义规则来比较两个字段 自定义
  • Sql 2008 文件流与 NHibernate

    我试图在 sql server 2008 中使用 Filestream 来存储用户上传的图像 我的问题是NHibernate不会出错 但它也不会将数据保存到数据库中 没有创建记录 下面的 Image 类是一个自定义类 不要与 System
  • 在 var 中渲染多个空格

    我试图在我的 var 中添加多个空格 但它被削减为一个空格或者呈现出来 仿佛 我尝试过使用 20 有人还有其他想法吗 ViewBag Subheading 曝光 我希望它看起来像这样 曝光 ViewBag Subheading Bringi
  • 在路由mvc 4中添加公司名称

    我一直在尝试为 Facebook 等用户提供在 URL 中添加公司名称的选项 http localhost 50753 MyCompany Login 我尝试过不同的网址 但没有成功 routes MapRoute name Default
  • 在 ASP.Net MVC 中的同一视图中分离两个表单

    我已将创建帐户视图和登录视图合并到同一视图中 所以这是一个具有两种表单的视图 但是当我提交时它们会混合在一起 如果我尝试登录并显示错误 Html ValidationSummary 两种形式都会出现错误 我开始将字段重命名为 loginPa
  • 将 Web API 添加到 asp.net MVC 项目时出现问题(追溯)

    我正在 Visual Studio 2013 中使用 asp net mvc 迈出第一步 但遇到了一个奇怪的问题 我以 MVC 的形式启动了我的项目 并且没有选中 Web API 框来包含核心参考 不过现在我想使用 Web API 功能 我
  • NHibernate:将一个类映射到两个相同的表

    我需要将一个实体映射到两个表 Invoice 和 InvoiceHistory 我不能将两个数据库表合并为一个并添加一个状态列来区分它们 这两个表具有完全相同的结构 但是 正如名称所示 InvoiceHistory 保留旧发票的历史记录 而
  • 如何使用 NHibernate 和 Fluent NHibernate 存储未截断的 varchar(max) 字符串

    我的数据库模式有一个 varchar max 字符串 我读过另一本问题 https stackoverflow com questions 2343105 override for fluent nhibernate for long te
  • WebActivator PreApplicationStartMethod 不起作用

    我正在按照 onin 架构制作一个新项目 我有一个名为 bootstrapper 的单独项目 其中包含 IOC 和 WebActivator 我的问题是包含 WebActivator 的类甚至没有在调试中加载 也许我错过了什么 assemb
  • 流畅的NHibernate并在需要多个连接的查询上过滤一对多关系?

    我最近开始使用 NHibernate 但在实现下面概述的域模型时遇到了一些问题 我正在寻找一种方法来过滤项目与其特定数据存储上的项目数据集合之间的关系 数据存储要么是全局的 在这种情况下它们总是被返回 要么是特定于用户身份的 基于应用程序实
  • MVC3远程模型验证操作中的参数名称

    我使用远程验证属性SSN属性 在视图页面中我使用通用视图 然后 ssn 字段如下 Html EditorFor model gt model MainModel SSN Html ValidationMessageFor model gt
  • Mvvm 支持自定义 Kendo ui 小部件

    前几天我问this https stackoverflow com questions 24828905 developing custom kendo ui widget问题并得到了一个非常酷的答案 以后我想知道我是否可以使用我的自定义小
  • 多态 MVC 视图

    因此 我在 ASP NET MVC 中制作一个注册页面 其中有一个字段列表 该列表会根据许多条件 从数据库中获取 而变化 在每次更新数据库时不更改代码的情况下 在视图上显示这些字段的最佳方法是什么 我正在考虑的当前系统是制作一个带有 名称
  • MVC 5 Razor 活动导航选项卡

    我一直在尝试突出显示我的项目中的活动导航选项卡 我的任务是更新旧网站而不更改为引导程序 这是我的经验所在 我找到了一个包含我需要的大部分内容的示例 目前 唯一具有 选定类别 的选项卡是 主页 选项卡 当我单击另一个选项卡时 主页 选项卡不再
  • 版本弃用 Facebook Graph API v2.2

    我们的 Facebook 登录现在无法使用 我们收到了来自 Facebook 开发者门户的消息 应用程序名称 当前可以访问 Graph API v2 2 该 API 将到达其末尾 截至 2017 年 3 月 27 日 有效期为 2 年 为了
  • 在 MVC 类上创建主键字段

    我是 MVC 和 C 新手 我只是偶然发现它并发现它很有趣 我遇到了一个不允许我继续的问题 这是我的代码 using System using System Collections Generic using System Linq usi

随机推荐

  • MySQL:`... ADD INDEX(a); 之间的区别... ADD INDEX(b);` 和 `... ADD INDEX(a,b);`?

    有人可以告诉我这两者有什么区别 ALTER TABLE x1 ADD INDEX a ALTER TABLE x1 ADD INDEX b AND ALTER TABLE x1 ADD INDEX a b 我知道这涉及到最基本的问题 但有时
  • Javascript 合并具有嵌套属性的对象

    让我们看一下下面的例子 var ref fullName rules type string minLength 4 maxLength 64 description Full name of a user var user fullNam
  • 如何将大文件导入到 PostgreSQL 中?

    我在一个新项目中 现在必须使用现有的 PostgreSQL 数据库 该应用程序是使用 CakePHP 构建的 我在导入时面临的问题是数据库的文件大小约为 4 8 GB 而我对 PostgreSQL 完全陌生 我曾研究过 MySql 和 No
  • 数据结构填充

    C 中的数据结构填充是什么以及如何检查填充字节的字节数 class a public int x int y int z 处理器要求某些类型的数据具有特定的对齐方式 例如 处理器可能需要int位于 4 字节边界上 因此 例如 一个int可以
  • LinkedBlockingQueue 的 Java 性能问题

    这是我在 stackoverflow 上的第一篇文章 我希望有人能帮助我 我的 Java 6 性能大幅下降LinkedBlockingQueue 在第一个线程中 我生成一些对象并将其推入队列 在第二个线程中 我将这些对象拉出来 当take
  • 如何在 Nunit 中调用 WPF Dispatcher?

    我想测试一个使用数据字段值呈现文本块的应用程序 渲染完成后 我想获得实际宽度和实际高度 一切正常 当我尝试测试该应用程序时 问题首先出现 我无法从测试项目调用调度程序 以下是代码 this Loaded s e gt TextBlock t
  • Xcode 6.1 - 如何卸载命令行工具?

    我通过发出安装了 Xcode 命令行工具xcode select install 现在我想卸载它 不卸载Xcode 我试过了 sudo Developer Library uninstall devtools mode all 但后来我得到
  • 模块依赖 - Android Studio

    我的项目 M1 M2 下有 2 个模块 Project M1 M2 早些时候 我将 M1 作为我的主要应用程序 然而 需要新的应用程序 M2 与 M1 共享许多通用内容 因此 我创建了一个新模块 M2 并以 M1 作为依赖项 为了实现这一点
  • 使用带有子存储库和子模块的深层 Git 存储库-存储库更改权限?

    我决定默认限制存储库树中的可见范围 以便为精美的东西创建公共文件夹 现在因为有很多子存储库 我得到了一个痛苦的提交或一些聪明的想法 我不确定最好的方法 我考虑过使用 find 遍历存储库 然后对每个存储库进行一致的虚拟提交 例如 defau
  • 如何将网络摄像头转为 rtsp

    我有一个产品 可以在输入 rtsp url 后分析视频 我想使用网络摄像头通过网络摄像头 rtsp 流式传输并提供我的产品 我怎样才能做到这一点 这取决于您使用的网络摄像头 大多数支持 RTSP 但许多不发布访问流的接口 因为它们设计为与网
  • 了解 Spark 创建的分区数量

    读取 csv 时 pyspark sql 将创建多少个分区 我对此的理解是 number of partitions math ceil file size spark conf get spark sql files maxPartiti
  • 如果行中的其他单元格与值匹配,则将单元格从一个工作表复制到另一个工作表

    我想要的是将单元格从一张纸复制到另一张纸 前提是同一行 不同列 中的另一个单元格在 Google 表格中具有特定值 理想情况下 我希望这是实时的 如果我在第一张表中添加一行并且条件匹配 第二张表也会更新 这是一个例子 Sheet one C
  • 无法从 docker 容器内部访问 datadog 代理

    我在 Amazon linux ec2 上安装了 dd agent 如果我直接在主机上运行 python 脚本 我使用名为 dogstatsd python 的 SDK 则所有指标都可以发送到 datadog 我登录到 datadoghq
  • 在 onStart() 之后直接调用 Fragment onStop() - 为什么?

    我的应用程序遇到了一个奇怪的问题 A 有一个包含片段的片段活动 该片段启动 AsyncTask onCreate 并取消 AsyncTask onStop 我的问题出现是因为 尽管我的 Fragment 保持运行并且没有被遮挡 但 onSt
  • 使用 Spring IoC 设置枚举值

    有没有办法在构造时通过 Spring IoC 设置此类枚举值 我想做的是在类加载时注入硬编码在下面的代码片段中的值 public enum Car NANO Very Cheap India MERCEDES Expensive Germa
  • 现有类型是否可以扩展以与 Seq.sum 等一起使用?

    最近一直在处理很多时间跨度 并且需要获得总和和平均值 但是 TimeSpan 既没有定义运算符 get Zero 也没有定义 DivideByInt 因此 Seq sum 和 Seq average 不能直接与此类型一起使用 以下情况无法编
  • PEP572 中的海象运算符示例

    中给出的示例之一PEP572 https www python org dev peps pep 0572 is Reuse a value that s expensive to compute y f x y 2 y 3 目前在 pyt
  • 变换后的子项在 Safari 中被父项背景剪裁,与 z-index 无关。为什么?

    我有这个加载器 在所有内容中都渲染得很好 但 Safari 除外 pageLoader min height 100vh min width 100vw background color white z index 2 position f
  • 更新 /.pub-cache 中的 flutter 依赖项

    我在文件夹里删除了 pub cache hosted pub dartlang org this plugin 更新里面的依赖的命令是什么pubsec yaml 我相信是的 颤振包获取 下的文件夹 pub cache仍然不是最新的 注意 有
  • 当视图模型没有域模型那么多的字段时,如何忽略/保留 MVC 中的值?

    我有一个网站 我正在使用 FluentNhibernate 和 Asp net MVC 我有一个编辑视图 允许用户编辑该记录 对象 的 10 个属性中的 8 个 当您提交表单和模型绑定时 两个不可编辑的字段将作为空字符串或默认日期时间值返回