如何在 razor MVC asp.net 中组合两个视图模型

2024-03-22

假设我有一些模型如下:

public class Model1 
{
   public int ID{get;set;}
   public string Name{get;set;}
}

public class Model2 
{
    public int ID{get;set;}
    public string Name{get;set;}
}

class CommonViewModel 
{
    public string Title{get;set;}
    public Model1 model1;
    public Model2 model2;
}

我的剃刀视图如下

@model ProjectName.CommonViewModel

@Html.LabelFor(m => model.Title)           
@Html.EditorFor(m => model.Title)

@Html.LabelFor(m => model.model1.Name)           
@Html.EditorFor(m => model.model1.Name)

在我的控制器上,我有一个以 CommonViewModel 作为参数的回发。公共视图模型将具有标题值,但不具有 model1.Name 值。为什么以及如何才能存储该值并将其发送回控制器。


Your CommonViewModel类有一些问题。它应该是公共的,model1和model2应该有getter和setter:

public class CommonViewModel
{
    public string Title { get; set; }
    public Model1 model1{get;set;}
    public Model2 model2{get;set;}
}

另外在视图中您需要修复:

@Html.LabelFor(m => m.Title)           
@Html.EditorFor(m => m.Title)

@Html.LabelFor(m => m.model1.Name)           
@Html.EditorFor(m => m.model1.Name)

上面的代码在我的测试中运行良好。

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

如何在 razor MVC asp.net 中组合两个视图模型 的相关文章

  • EF Core 通过完全替换断开集合导航属性的更新

    使用 EF Core 5 0 我有一个 SPA 页面 可以加载Group实体及其集合Employee来自 API 的实体 var groupToUpdate await context Groups Include g gt g Emplo
  • VS 程序在调试模式下崩溃,但在发布模式下不崩溃?

    我正在 VS 2012 中运行以下程序来尝试 Thrust 函数查找 include cuda runtime h include device launch parameters h include
  • 指向特征矩阵的指针数组

    我在代码中使用 Eigen 的 MatrixXd 矩阵 在某个时刻我需要一个 3D 矩阵 由于 Eigen 没有三维矩阵类型 因为它仅针对线性代数进行了优化 因此我创建了一个 MatrixXd 类型的指针数组 Eigen MatrixXd
  • 为什么这个没有特殊字符的正则表达式会匹配更长的字符串?

    我正在使用此方法来尝试查找匹配项 例如 Regex Match A2 TS OIL TS OIL RegexOptions IgnoreCase Success 我得到了真实的结果 我很困惑 我认为这应该返回 false 因为模式中没有特殊
  • 找不到 assimp-vc140-mt.dll ASSIMP

    我已经从以下位置下载了 Assimp 项目http assimp sourceforge net main downloads html http assimp sourceforge net main downloads html Ass
  • 时间:2019-03-17 标签:c#ThreadSafeDeepCopy

    我一直在阅读很多其他问题以及大量谷歌搜索 但我一直无法找到明确的解决方案 根据我读过的一些最佳实践 类的静态方法应该创建线程安全的 并且实例成员应该将线程安全留给消费者 我想为该类实现深度复制方法 该类本身还有其他引用类型成员 有没有什么方
  • ASP.NET 中获取当前域的最佳方法是什么?

    我想知道在 ASP NET 中获取当前域的最佳方法是什么 例如 http www domainname com subdir http www domainname com subdir 应该产生http www domainname co
  • C# 构建一个 webservice 方法,它接受 POST 方法,如 HttpWebRequest 方法

    我需要一个接受 POST 方法的 Web 服务 访问我的服务器正在使用 POST 方法 它向我发送了一个 xml 我应该用一些 xml 进行响应 另一方面 当我访问他时 我已经使用 HttpWebRequest 类进行了管理 并且工作正常
  • 检查 RoutedEvent 是否有任何处理程序

    我有一个自定义 Button 类 当单击它时 打开特定窗口 它总是执行相同的操作 我添加了一个可以在按钮的 XAML 中分配的 Click 事件 就像常规按钮一样 当它被单击时 我想执行 Click 事件处理程序 如果已分配 否则我想执行默
  • AES 输出是否小于输入?

    我想加密一个字符串并将其嵌入到 URL 中 因此我想确保加密的输出不大于输入 AES 是可行的方法吗 不可能创建任何始终会创建比输入更小的输出的算法 但可以将任何输出反转回输入 如果您允许 不大于输入 那么基本上您只是在谈论同构算法alwa
  • 运行选定的代码生成器时出错:“未将对象引用设置到对象的实例。”错误?

    我已经尝试了所有解决方案 例如修复 VS 2013 但没有用 当您通过右键单击控制器文件夹来创建控制器并添加控制器时 然后右键单击新创建的控制器的操作并选择添加视图 当我尝试创建视图时 就会发生这种情况 它不是一个新项目 而是一个现有项目
  • C# 中的 strstr() 等效项

    我有两个byte 我想找到第二个的第一次出现byte 在第一个byte 或其中的一个范围 我不想使用字符串来提高效率 翻译第一个byte to a string会效率低下 基本上我相信就是这样strstr 在 C 中做 最好的方法是什么 这
  • 在 EnvDTE 中调试时捕获 VS 局部变量

    是否可以使用 EnvDTE 进行 vsix Visual Studio 扩展来捕获本地和调试窗口使用的调试数据 或者可以通过其他方法吗 我想创建一个自定义的本地窗口 我们可以修改它以根据需要显示一些较重的内容 而无需为高级用户牺牲原始的本地
  • cout 和字符串连接

    我刚刚复习了我的 C 我尝试这样做 include
  • 更改 Windows Phone 系统托盘颜色

    有没有办法将 Windows Phone 上的系统托盘颜色从黑色更改为白色 我的应用程序有白色背景 所以我希望系统托盘也是白色的 您可以在页面 XAML 中执行此操作
  • 矩阵到数组 C#

    这将是转换方阵的最有效方法 例如 1 2 3 4 5 6 7 8 9 into 1 2 3 4 5 6 7 8 9 in c 我在做 int array2D new int 1 2 3 4 5 6 7 8 9 int array1D new
  • 将 char[][] 转换为 char** 会导致段错误吗?

    好吧 我的 C 有点生疏了 但我想我应该用 C 来做我的下一个 小 项目 这样我就可以对其进行抛光 并且我已经有不到 20 行的段错误了 这是我的完整代码 define ROWS 4 define COLS 4 char main map
  • C++0x中disable_if在哪里?

    Boost 两者都有enable if and disable if 但 C 0x 似乎缺少后者 为什么它被排除在外 C 0x 中是否有元编程工具允许我构建disable if按照enable if 哦 我刚刚注意到std enable i
  • 使我的 COM 程序集调用异步

    我刚刚 赢得 了在当前工作中维护用 C 编码的遗留库的特权 这个dll 公开使用 Uniface 构建的大型遗留系统的方法 除了调用 COM 对象之外别无选择 充当此遗留系统与另一个系统的 API 之间的链接 在某些情况下 使用 WinFo
  • 使用 QtWebEngine 将 C++ 对象暴露给 Qt 中的 Javascript

    使用 QtWebkit 可以通过以下方式将 C 对象公开给 JavascriptQWebFrame addToJavaScriptWindowObject如中所述https stackoverflow com a 20685002 5959

随机推荐

  • java编程确定对称词[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我是新来的 但我很难弄清楚如何编写代
  • kubernetes默认自带docker吗

    根据这个link https www docker com kubernetesdocker 支持 Linux Mac 和 Windows 上的 Kubernetes 我无法确定 kubernetes 是否像 swarm 一样安装在 doc
  • Python 3 Selenium KeyError:“value”问题不会初始化 Firefox 的 Geckodriver

    我在使用 Python 3 运行 geckodriver 时遇到问题 我最近使用我一直在开发的应用程序切换到 Python 3 并更新了 Firefox 53 0 Selenium 3 4 3 和 geckodriver 0 17 1 我还
  • 如何在java中将xml标签存储为数组

    在我的应用程序中 我正在解析 xml 文件 在 xml 文件中 我有 50 个同名标签question 现在我想将所有名为问题的标签存储为数组 在保存的这些标签中 我只想将一个问题标签放置在文本视图中 如何执行此操作 请帮助我 public
  • 为什么标准禁止部分特化的友元声明?

    C 标准禁止部分特化的友元声明 14 5 3 8 友元声明不得声明部分特化 例子 template
  • 替换Java中索引之间的字符串部分[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 说我有绳子123456789 我知道
  • 在生产中使用无双向 TLS 的 Fabric-ca?

    我想知道是否强烈建议不要在生产中使用没有双向 TLS 的 Fabric ca 我计划运营一个结构网络 其中将自动添加许多对等点 应用程序和用户 并且不会使用 cryptogen 工具 相反 第二个 Fabric ca 将用于颁发 TLS 证
  • 当我滑动时,slideChangeStart 事件不会触发

    在我的 Ionic 1 3 1 应用程序中 我使用ion slides显示调查问卷部分的组件
  • 当用户在 HTML 文本输入上键入退格键时,如何避免向后导航?

    退格键是浏览器热键 用于 返回到最后一页 我知道当输入获得焦点时 该热键将被禁用 但是我有 keyup 和 keydown 事件绑定到这个输入 而我写的一些东西导致了这个问题 你知道解决办法吗 当您处理了来自输入元素的事件后 请在返回之前取
  • Plotly:在 R 中的每帧中对可变数量的轨迹进行动画处理

    我想对一组帧进行动画处理 其中每个帧可能具有不同数量的轨迹 如 此处 所述1 https community plotly com t animating a variable number of traces in each frame
  • QPainter::drawPixmap() 看起来不好看而且质量低?

    我正在尝试在 a 内绘制一个图标 png QWidget with QPainter drawPixmap QPixmap source png painter setRenderHint QPainter HighQualityAntia
  • 带offline.html 备份页面的Service Worker

    我无法显示offline html 页面 我不断得到The FetchEvent for https my domain com resulted in a network error response a redirected respo
  • 开源 .Net Jabber/XMPP 服务器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我在 Net 中见过不少 XMPP 客户端的例子 也见过不少不同语言的服务器 但我正在寻找 Net 版本
  • 单个进程中的多个应用程序域

    大家好 我想问大家一个与应用程序域相关的问题 在 Net中 appdomain充当安全边界 两个应用程序可以在同一进程内的两个不同域中运行 但是当我尝试运行一个exe的多个实例时 它显示在任务管理器中的不同进程中 为什么会这样呢 为什么它不
  • 使用正则表达式在 javascript 中进行全词搜索

    我正在尝试使用以下正则表达式在 javascript 中执行整个单词搜索 str Test String C S example var regex search new RegExp b search string b g if str
  • MOVDQA 和 MOVAPS x86 指令之间的区别?

    我正在查找英特尔数据表 英特尔 64 和 IA 32 架构 软件开发人员手册我找不到两者之间的区别 MOVDQA 移动对齐的双四字 MOVAPS 移动对齐压缩单精度 在英特尔数据表中我可以找到这两条指令 该指令可用于从 128 位加载 XM
  • 从 .Net Core 使用 JAR

    如何使用 Net Core 内的 JAR 显然是用 Java 开发的 在 Net世界中 我们可以将其注册为COM组件并访问它 我知道 Net Core 还不支持 COM 组件 IKVM JNBridge 等库尚不支持 Net Core CO
  • Serilog 不将日志发送到 Elasticsearch 8

    I used ELK堆栈来记录应用程序错误 但是Serilog不登录弹性搜索 使用的elasticsearch版本是8 3 2 登录配置program cs builder UseSerilog hostBuilder servicePro
  • VSTS 中 .NET Core 项目的代码覆盖率和测试结果

    如何在 VSTS 中启用 NET Core 项目的代码覆盖率和测试结果 目前 尚未为 NET Core 测试任务启用它 这是一个答案的一半 因为我不喜欢代码覆盖率 首先得到dotnet test通过传递参数来输出包含测试结果的 trx 文件
  • 如何在 razor MVC asp.net 中组合两个视图模型

    假设我有一些模型如下 public class Model1 public int ID get set public string Name get set public class Model2 public int ID get se