两个同名字段

2024-02-14

我有一个 ViewModel 类来封装“个人”和“业务”模型。我的问题是,两个模型都有一个名为“电子邮件”的属性,并且模型绑定无法区分两者。

我读到了[Bind(Prefix = ...用于解决此问题,但我还没有看到有关如何实现此目的的简洁示例。

public class BusinessFormViewModel
{
    public Business Business { get; set; }
    public ContactPerson ContactPerson { get; set; }

    public BusinessFromView(Business business, ContactPerson contactPerson)
    {
        Business = business;
        ContactPerson = contactPerson;
    }
}

如何使用绑定前缀来解决此问题?


我相信,如果发布的表单元素的名称中包含前缀,则绑定将正确完成。这就是模板化助手(即 EditorFor)呈现控件的方式,并且我的嵌套视图模型已正确绑定。例如,在您的情况下,您的视图将具有如下形式的元素:

...
<input type="text" name="Business.Email" value="<%=this.Model.Business.Email %>" />
...
<input type="text" name="ContactPerson.Email" value="<%=this.Model.ContactPerson.Email %>" />
...

或者,使用模板化助手(在 mvc 2 中):

...
<%= Html.TextBoxFor(m => m.Business.Email) %>
...
<%= Html.TextBoxFor(m => m.ContactPerson.Email) %>
...

您的控制器只需将 BusinessFormViewModel 作为参数即可,如下所示:

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

两个同名字段 的相关文章

  • 使用 C# 将多个音频样本混合到单个文件中

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个能够创建音频文件 mp3 或 wav 的库 NAudio http www codeple
  • 将 dataGridView 中选定的行作为对象检索

    我有一堂这样的课 public partial class AdressBokPerson public long Session get set public string F rnamn get set public string Ef
  • 如何减少 MinGW g++ 编译器生成的可执行文件的大小?

    我有一个简单的 Hello world C 程序 在 Win XP 下由 MinGW g 编译器编译为 500kB 可执行文件 有人说这是由于iostream的库和静态链接libstdc dll Using s链接器选项有点帮助 减少了 5
  • 如何将STL容器数据转储到gdb中?

    我无法在 gdb 中转储 STL 无序映射容器值 变量类型是 std unordered map var 我的 gdb 版本 7 7 1 GDB配置 configure host x86 64 linux gnu target x86 64
  • 如何让XmlReader读取C#中的属性?

    我有一个 XML Stream 其中包含以下 XML 内容
  • 我在使用 ado.net 时收到错误 Argument 2 may not be pass with ref keywords

    int t 0 cmd Parameters AddWithValue Res ref t 我在第二行收到错误 参数 2 不能与 ref 关键字一起传递 您只能通过引用传递参数ref if the 范围 is a ref参数也是如此 Add
  • 如何从外语线程调用Python函数(C++)

    我正在开发一个程序 使用 DirectShow 来抓取音频数据 媒体文件 DirectShow 使用线程将音频数据传递给回调 我的程序中的函数 然后我让该回调函数调用另一个函数 Python 中的函数 我使用 Boost Python 来包
  • 更改 Xamarin.Forms 应用中顶部栏和底部栏(ControlsBar、StatusBar)的颜色

    无论如何 即使后面需要特定于平台的代码 也可以更改顶部栏 蓝色的 和底部栏 黑色的 的颜色吗 我希望添加对浅色和深色模式的支持 因此我希望能够在运行时更改它 有可能的 Android Using Window SetStatusBarCol
  • 当需要不同数量和类型的参数时如何创建操作委托列表

    我们有一组大约两打的类 它们继承自具有抽象 Validate 方法的基类 当然 每个类都有不同的验证需求 但它们之间的不同组合需要规则 因此 正如您可以想象的那样 这导致了大量代码重复 例如 A 类需要规则 1 3 6 和 9B 类需要规则
  • Gremlin.net 文本包含等效项

    我正在使用 Gremlin net 库连接到 janus 图形服务器 我使用 cassandra 和弹性搜索进行数据存储和索引 在我使用的 gremlin 语言和 gremlin 控制台中文本包含在属性的文本中进行搜索 我正在使用混合索引
  • C++ 中是否有与 PHP 的explode() 函数等效的函数? [复制]

    这个问题在这里已经有答案了 可能的重复 在 C 中分割字符串 https stackoverflow com questions 236129 splitting a string in c 在 PHP 中 explode 函数将获取一个字
  • 如何检测应用程序正在运行的 .NET 版本?

    我尝试使用Environment Version ToString 确定目标计算机上正在使用什么 NET 框架 但安装了 4 0 版本时 它说我正在使用 NET 2 0 如何检测目标计算机上正在运行的 NET Framework 版本 En
  • 如何将System.Windows dll添加到Visual Studio 2010 Express?

    我正在开发一个小型应用程序C and VS2010 as IDE with NET框架4 我想用CaptureSource类以便从笔记本电脑的网络摄像头捕获视频 为此我需要添加一个命名空间System Windows DependencyO
  • C 变量声明的效率 [重复]

    这个问题在这里已经有答案了 例如 在 C 中声明一个变量需要多长时间int x or unsigned long long var 我想知道它是否会让我的代码在类似的事情中更快 for conditions int var 0 code 这
  • “1个未解决的外部”C++

    我已经检查了所有文件之间的连接以及类和函数定义 但每次我尝试运行我的程序时 它都会阻止我并告诉我它有 1 个未解析的外部 该程序应该打开多个文件 一个 学生 文件和一个 成绩 文件 从中读取数据 然后使用 查询文件 来查找数据 找到查询中要
  • Xcode 7 调试器不会中断内联标头函数

    过去五年我一直在各种 C 项目中使用 Xcode 没有出现这个问题 今天 我打开了一个较旧的项目 大约 2 年前 并尝试通过在该函数中放置一个活动断点来调试头文件中的内联函数 由于某种原因 调试器不会中断此代码 但是 如果我在调用该函数的
  • 具有四个 && 的 LINQ Where 子句

    我正在尝试在Where 子句中创建一个带有4 个参数的LINQ 查询 这是一个 Windows 8 应用程序项目 我正在使用 SQLite 数据库 SQLite 实现 https github com praeclarum sqlite n
  • 如何在 C 中创建最低有效位设置为 1 的掩码

    这个功能如何运作 最低有效 n 位设置为 1 的掩码 Example n 6 gt 0x2F n 17 gt 0x1FFFF 我根本不明白这些 尤其是 n 6 gt 0x2F 另外 什么是面膜 通常的方法是采取1 并将其左移n位 这会给你类
  • 在windows + opengl中选择图形设备

    我知道如何使用 openGL 打开窗口 使用 Win32 或其他工具包 但是当系统有2块显卡时 如何选择要渲染的图形设备 我的编程语言是 C 我专注于 Windows 但任何示例都将受到欢迎 编辑 也许更好地解释我的问题是个好主意 以便添加
  • 实体框架代码首次日期字段创建

    我正在使用实体框架代码优先方法来创建我的数据库表 下面的代码 创建一个DATETIME数据库中的列 但我想创建一个DATE柱子 DataType DataType Date DisplayFormatAttribute ApplyForma

随机推荐

  • 在 Thread + Queue 或 ThreadPoolExecutor 上使用 async-await?

    我从未使用过async await语法 但我经常需要发出 HTTP S 请求并解析响应 同时等待未来的响应 为了完成这项任务 我目前使用线程池执行器 https docs python org 3 library concurrent fu
  • 从另一个类调用委托方法

    我无法弄清楚如何在 C 中对跨类的委托方法调用进行编程 我来自 Objective C 的世界 这可能会让我感到困惑 在 Objective C 中 我可以在子类中分配一个委托对象作为父类 即 childViewcontroller del
  • 自定义 asp.net 身份存储 - 为什么 HttpContext.Current 有时为空

    我按照示例集实现了 ASP NET Identity 的自定义用户存储here http www jamessturtevant com posts ASPNET Identity2 0 Custom Database 一切正常 除了这个
  • 扩展应用程序还是使用单例?

    我有一个 android 项目 其中有一个或多个活动需要访问的不同对象 现在我正在考虑创建一个子类Application然而根据文档 http developer android com reference android app Appl
  • 通过单元格的值动态设置 Excel 图表数据系列范围

    我在 Excel 中有一个简单的图表 其中绘制了 2 个数据系列 引用了第 3 个数据系列 我想要做的是根据单元格中的数字更改第一个数据系列之一的范围 例如 如果数字为 1 并且数据系列位于 A 列中 则图表的范围应为A1 A100 现在
  • 在 Yii2 中一次保存多个模型

    我有两个模型 Users and Students 我想同时将数据插入到这些表中 首先 我将数据保存到Students模型 然后进入Users楷模 现在 如果数据没有成功插入到Users模型已经有一个条目Students桌子 我想要的是仅当
  • Akka Actor 带有 TimeoutException 的“询问”和“等待”

    我正在使用 Scala 和 Akka 建模一个简单的 P2P class Node extends Peer with Actor var peers List ActorRef List def receive case register
  • iOS13 getUserMedia 不适用于 Chrome 和 Edge

    我和我的朋友正在构建一个需要相机访问权限的应用程序 但我们在让相机与 iOS 配合使用时遇到了一些问题 我们使用的是 iOS13 Safari 在获取相机内容后立即冻结 chrome 和 Edge 根本无法获取相机访问权限 我们的代码如下
  • Asp.Net MVC 中 DataAnnotations StringLength 文本框的 maxlength 属性

    我正在开发 MVC2 应用程序 想要设置文本输入的 maxlength 属性 我已经使用数据注释在模型对象上定义了 stringlength 属性 并且它正在正确验证输入字符串的长度 当模型已有信息时 我不想通过手动设置最大长度属性来在视图
  • 启动 Firefox、使用特权 nsI* API 驱动第 3 方网站的最简单方法

    启动 Firefox 最简单的方法是什么 加载第 3 方网站 我是授权的 自动化 并针对该站点运行一些 特权 API 例如 nsIProgressListener nsIWindowMediator 等 我尝试了两种方法 使用 XULrun
  • Next.js - 从节点模块的“dist”文件夹提供静态 JS 的最佳方式

    我正在使用一个使用 Tesseract OCR 从图像中读取文本的应用程序 我想从 node modules tesseract js dist 获取一些 JS 文件 并使它们可以在浏览器中下载 我知道我可以将文件复制到 public ne
  • Pandas 绘制重复的数据框

    我正在尝试绘制包含 2 列的 pandas 数据框 如下所示 For i in data1 for j in data2 traces append go Scatter x df A y df B plot A 列有重复值 当我绘制它们时
  • Grails 急切获取不会检索所有数据

    我有域类 class Person static hasMany items Item static fetchMode items eager String name Set items class Item static belongs
  • 全屏背景上的android xml可绘制图像

    我需要在 android 中使用 xml 可绘制对象 用于 cordova 启动屏幕 我想在屏幕中央显示一个透明徽标 不拉伸 而屏幕的其余部分则设置背景颜色 我首先尝试的是仅在 xml 文件中添加图像
  • 使用堆栈时无法导入 System.Directory

    我有点困惑为什么这不起作用 我有一个导入 System Directory 的小程序 当我在命令行上使用 runhaskell 运行它时 它会编译并输出我期望的内容 当我使用与堆栈相同的程序时 我收到一条消息说 无法加载 System Di
  • 使用specs2 + scalalogging 进行单元测试记录器消息

    我这里有一个小问题 真的不知道如何实现记录器消息的单元测试 当然 这听起来有点奇怪 但对我来说这是一个非常有趣的话题 但让我说得更具体一些 我有一些 scala 类和测试规范 class Testable extends Logging d
  • JavaScript 中的 MAC 地址

    我知道我们可以通过 IE ActiveX 对象 获取用户的 MAC 地址 有没有办法使用JavaScript获取用户的MAC地址 我同意之前的所有答案 如果您能够直接从 Javascript 执行此操作 这将是一个隐私 安全漏洞 我能想到的
  • MSIE 10、网页字体和字体功能设置导致文本不可见

    我认为这确实是 Microsoft Internet Explorer 10 中的一个错误 但我在任何地方都找不到该问题的任何解释 问题的现场演示可以在以下位置找到http jsfiddle net 37Bu5 http jsfiddle
  • SBT测试中出现奇怪的异常

    我面临 SBT 版本 0 13 9 的问题 我的 ScalaTest 测试之一失败 不确定性EOFException 堆栈跟踪 Exception in thread Thread 155 Exception in thread Threa
  • 两个同名字段

    我有一个 ViewModel 类来封装 个人 和 业务 模型 我的问题是 两个模型都有一个名为 电子邮件 的属性 并且模型绑定无法区分两者 我读到了 Bind Prefix 用于解决此问题 但我还没有看到有关如何实现此目的的简洁示例 pub