在 ASP.NET MVC 中使用多个部分时出现重复的输入 id

2024-01-26

我有三个部分视图,每个视图都具有单独的模型强类型。每个视图都包含它自己的表单并提交不同的操作。某些模型包含具有相同名称的属性,当我使用 html 帮助器方法创建文本框和标签时,我最终会在页面上出现重复的 html id。

部分_住宅景观

@model MyProject.Models.ResidentialModel

@using (Html.BeginForm("Residential", "Transaction"))
{
  @Html.LabelFor(m => m.PersonName)
  @Html.TextBoxFor(m => m.PersonName)

  @Html.LabelFor(m => m.ReferenceNumber)
  @Html.LabelForm(m => m.ReferenceNumber)

  <input type="submit" value="Submit" />
}

部分_业务视图

@model MyProject.Models.BusinessModel

@using (Html.BeginForm("Business", "Transaction"))
{
  @Html.LabelFor(m => m.BusinessName)
  @Html.TextBoxFor(m => m.BusinessName)

  @Html.LabelFor(m => m.ReferenceNumber)
  @Html.LabelForm(m => m.ReferenceNumber)

  <input type="submit" value="Submit" />
}

普通视图

<h2>Residential Transaction</h2>
@Html.Partial("_Residential")

<h2>Business Transaction</h2>
@Html.Partial("_Business")

我得到的输出如下所示:

<h2>Residential Transaction</h2>
<form action="/Transaction/Residential" method="post">
  <label for="PersonName">Person Name:</label>
  <input type="text id="PersonName" name="PersonName" />

  <label for="ReferenceNumber">Reference Number:</label>
  <input type="text" id="ReferenceNumber" name="ReferenceNumber" />

  <input type="submit" value="Submit" />
</form>

<h2>Business Transaction</h2>
<form action="/Transaction/Business" method="post">
  <label for="BusinessName">Business Name:</label>
  <input type="text" id="BusinessName" name="BusinessName" />

  <label for="ReferenceNumber">Reference Number:</label>
  <input type="text" id="ReferenceNumber" name="ReferenceNumber" />

  <input type="submit" value="Submit" />
</form>

由于 ReferenceNumber 存在于两个模型中,因此我在页面上得到了重复的 id。我发现我可以将额外的 htmlAttributes 参数传递给 TextBoxFor 来更改 id。

@Html.TextBoxFor(m => m.ReferenceNumber, new { id = "ResidentialReferenceNumber" })
...
@Html.TextBoxFor(m => m.ReferenceNumber, new { id = "BusinessReferenceNumber" })

这修复了输入上的 id,但标签上的“for”属性仍然具有错误的值。我查看了 LabelFor() 的各种重载,与 TextBoxFor 不同,它没有 htmlAttributes 属性。有什么方法可以告诉模型或视图为这些字段使用不同的 id 吗?


MVC 帮助程序没有考虑到您可以在视图中拥有多个模型。所有具有相同名称的属性都将获得重复值(每个模型一个值)。

也就是说,如果住宅交易和商业模式有Name属性,你的 html 表单将有两个<input type="text" name="Name" /> fields.

如果将所有模型添加到同一视图模型并使用,我不确定它是如何工作的Html.TextBoxFor(m => m.ResidentalTransaction.Id);

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

在 ASP.NET MVC 中使用多个部分时出现重复的输入 id 的相关文章

  • 如何使用 MVC 属性验证列表是否具有大于零的非空元素?

    我正在尝试实现一个可以获取不同数量的文件的文件上传器 文件输入元素的名称都相同 因此会生成 MVC3 乐意绑定的文件列表 所以在我的控制器中我有 public virtual ViewResult UploadReceive IEnumer
  • 从 MVC 视图中的模型访问 displayName 属性

    如果我的模型有 DisplayName First Name public string firstName get set 然后我可以用 LabelFor 在视图中打印它 Html LabelFor model gt model acc
  • 如何重新包含排除的文件夹

    所以我只是无意中点击了我的项目的致命一击Exclude From Project代替Add在我的控制器文件夹中 当尝试添加名为 Controllers 的文件夹时 我收到错误 此文件夹存在 但是 如果我尝试单击该项目 gt Add Exis
  • Web API 和 ASP MVC 之间的主要区别是什么

    标题确实总结了我的问题 我已经使用了这两种技术 但我不确定其中一种技术与另一种技术有何显着不同 在本质上 在设计一个宁静的 Web 应用程序时 选择 ASP MVC 或 Web API 时应考虑哪些标准和 或指南 Purpose ASP N
  • MVC3 和实体框架

    我的问题很简单 将 edmxMVC3 项目的 Web 应用程序的模型文件夹中的文件吗 我的答案非常简单 不要用数据访问逻辑和数据建模搞乱表示层 整个 MVC 应用程序 Visual Studio 解决方案中从下到上至少有 4 个项目 1 P
  • Azure 网站中的 404 处理

    我在 Azure 上有一个 MVC 网站 我已经编写了一个控制器操作来代表资源 该操作应该返回 HTTP 404 但正文内容应该是一些 HTML 我在其中解释了 404 的原因 这是作为一个标准操作实现的 该操作设置Response Sta
  • 在代码 MVC Razor 中渲染部分视图

    我正在使用 MVC 3 Razor 制作一个简单的 CMS 以用于实践目的 我的想法是创建一些部分视图 我想要进行数据库查找 并发现 3 个部分视图需要渲染到页面 我该怎么做 在 WebForms 中 您可以调用 LoadControl C
  • 如何使用 DropDownListFor

    我想向网页添加下拉列表 html 控件 并用产品列表填充它 我的动作控制器看起来像 public ActionResult Index return View repository GetProducts true 产品模型 Linq to
  • If else 在 Web 网格列中

    如何在 webgrid 列中添加条件 if else grid GetHtml tableStyle table table bordered columns grid Columns grid Column RealName Name g
  • MVC 3 DropDownFor 和 ViewModel 不起作用

    我有 2 个型号 public class Person public Guid ID get set public string Name get set public class Event public Guid ID get set
  • 如何在 ASP.NET MVC 3 的 Razor 视图中编码嵌入的 javascript?

    如何在以下上下文中正确编码 JavaScript 我的 JSON 对象中的值是由应用程序管理员设置的 因此我假设它们需要正确编码 对于 HTML 和 JavaScript 都是如此 我在用着System Web Script Seriali
  • Asp.Net MVC3 Razor - 子项目列表未从编辑器发回

    我正在尝试在 MVC3 中创建一个多级编辑器 我所说的多级是指我希望能够编辑三个层次结构级别的数据 父对象 父对象的子对象和子子对象的集合 我的模型大致如下 namespace MvcApplication1 Models public c
  • 如何将 Razor 视图转换为字符串?

    我想使用我的 Razor 视图作为某种发送电子邮件的模板 所以我想将我的模板 保存 在视图中 将其作为字符串读入控制器 进行一些必要的替换 然后发送它 我有有效的解决方案 我的模板作为 HTML 页面托管在某处 但我想将其放入我的应用程序中
  • System.Web.Caching.Cache 在模型中抛出 null 异常

    也许这个问题应该很简单 但事实并非如此 我读过了在 ASP NET 中使用 System Web Caching Cache 类时出现问题 https stackoverflow com questions 531014 problem u
  • 在 MVC Razor 中的 C# 和 Javascript 之间共享常量

    我想在服务器上的 C 和客户端上的 Javascript 中都使用字符串常量 我将常量封装在 C 类中 namespace MyModel public static class Constants public const string
  • IIS Express 捕获所有子域 url

    我正在寻找 IIS Express 中子域包罗万象 url 的解决方案 基本上 我环顾四周并找到了如何在 IIS Express 中创建域 子域 它很容易找到 我所要做的就是在 IIS Express 的 ApplicationHost c
  • MVC 3 布局页面、Razor 模板和 DropdownList

    我想在我的网站的所有页面上包含年份的下拉列表 我认为放置此逻辑的好地方是布局页面 layout cshtml 如果用户更改年份 我想更改我的年份会话 ModelBinder 也进行更改 这对于 ASP NET Web 表单来说很容易做到 但
  • HTTP请求的内容长度>正文大小

    我正在管理一个网站 该网站过去几个月在使用 MVC 3 0 ASP net 构建的 IIS 7 5 上运行良好 当我们的 AJAX POST 请求 通过 jQuery 触发 因发布的 JSON 被截断而失败时 我们时不时地会遇到一个问题 到
  • 在 MVC3 应用程序的编辑操作方法中使用 AutoMapper

    这是我的控制器代码 它 100 按照我的需要工作 但是 POST 方法没有使用 AutoMapper 这是不行的 如何在此操作方法中使用 AutoMapper 我使用实体框架 4 和存储库模式来访问数据 public ActionResul
  • 将视图中的 src 属性设置为 MVC3 项目外部的 url

    我正在尝试创建一个应用程序来显示本地存储在网络服务器上的图像 这是我的观点 请注意 条目 是绝对地址 例如 C Images Image1 jpg 但是 当我运行它时 我得到 Not allowed to load local resour

随机推荐

  • math.atan2 的逆?

    函数的反函数是什么 math atan2 我在 Lua 中使用它 我可以得到相反的结果math atan by math tan 但我在这里迷路了 EDIT 好的 让我向您提供更多详细信息 我需要计算 2 点 x1 y1 和 x2 y2 之
  • 用于阅读的 Apache POI Streaming (SXSSF)

    我需要读取大型 Excel 文件并将其数据导入到我的应用程序中 由于 POI 需要占用大量堆来工作 因此经常抛出OutOfMemory错误 我发现有一个流媒体用于以串行方式处理 Excel 数据的 API 而不是将文件完全加载到内存中 我创
  • Android 通过 HTTP Post 请求发送 Base64 编码的图像

    我完全迷失了 我正在尝试通过 Android 应用程序将照片发送到 php 网页 理论上一切都应该是正确的 但目标数据已损坏或我不知道 我可以获取发布数据 我尝试使用一个简单的字符串 它工作正常 但对于一个大文件 数据似乎已损坏 publi
  • 使用 svyrecvar 获取“调查”R 包中统计量的方差

    我正在写一个扩展surveyR 包 我的函数使用复杂的调查数据估计峰度 但我不确定如何获得这些统计数据的标准误差 例如现有函数的输出 例如svymean and svytotal svykurt lt function x design n
  • 莱布尼茨发布中的姿态数据间歇性丢失

    我刚刚将我的设备更新到最新的 Leibniz 版本 以下是一些观察 问题 1 我的应用程序现在存在长时间 2 3 秒 的间歇期 其中姿势数据无效 我认为问题出在驱动程序中 因为该问题也出现在 Tango Explorer 中 只需启动资源管
  • 有人知道如何从 Firefox 运行可执行文件吗?

    我试图开发一个 Firefox 插件来通过浏览器的上下文菜单 或 VBScript 文件或 CMD 命令 运行 exe 文件 我尝试了这些但没有结果 使用签名的 jar 文件 使用 Flash fs 命令 使用 JavaScript Act
  • Clang 链接错误:对 LLVM pass 添加的函数调用的未定义引用

    所以我正在关注这个教程https www cs cornell edu asampson blog llvm html https www cs cornell edu asampson blog llvm html通过添加对外部函数 在
  • 递归获取树的所有父母和孩子

    我有一个 MySQL 表 Id parent id title 1 0 Student Management 2
  • 默认字体系列是什么?

    这返回null DefaultFontFamily Font SystemFontOfSize NamedSize Default FontFamily 还有这个 DefaultFontFamily new Label FontFamily
  • JSR-303 枚举字段的 Bean 验证

    我有一个简单的豆子enum field public class TestBean Pattern regexp A B does not work private TestEnum testField getters setters en
  • 2 同一个表的外键可能会导致循环或者多重级联路径

    圣诞节快乐 我正在寻找一种替代数据库设计来避免这种 超级安全 错误 在表 2 上引入 FOREIGN KEY 约束 1 可能会导致循环或多级联路径 指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION 或
  • 在 ITC 审查期间观看 OS3、UIRequiredDeviceCapability 问题

    在试飞审查期间 我遇到了以下问题 来自苹果 2 3 性能 准确的元数据性能 2 3 我们无法在运行的 Apple Watch 上安装应用程序扩展 操作系统3 Info plist 中的 UIRequiredDeviceCapability
  • 不可变的初始化最终字段是否应该始终设为静态?

    我想知道非空白 初始化的不可变最终字段是否有合法的用例 换句话说 class Foo private final String bar bar Versus class Foo private static final String BAR
  • Pandas GroupBy 过滤

    我希望了解如何过滤 groupby 对象 我通过以下方式生成 groupby df groupby Order ProductLine ProductType size 结果是 Order ProductLine ProductType Q
  • 如何在 AngularJS 中刷新使用 $resource 服务获取的本地数据

    我有 AngularJS 应用程序 它使用 resource 服务使用 query 方法检索数据并使用 model save 方法创建新数据 这完全按照文档所说的那样工作得很好 我的问题是在更改后如何首先更新使用 MyService que
  • 如何解决 java jackcess 依赖错误?

    我正在尝试显示来自 MS Access 数据库的数据 我正在使用 Jackcess 库 但出现了一个依赖性错误 但我不知道如何解决 这是我的代码和错误 import com healthmarketscience jackcess impo
  • 将 typeFace 设置为 NumberPicker

    如何更改 NumberPicker 中的字体类型 我尝试这样做 但字体没有改变 任何想法 P S 颜色和文字大小发生变化 public class NumberPicker extends android widget NumberPick
  • 如何在 Telethon 中正确使用 iter_download 功能进行多连接下载

    我一直在尝试实现一个多线程电报下载客户端 对于单个下载 我们可以简单地使用 download media 功能 但 telethon 提供了 iter download 函数 根据文档 它用于流媒体 还包括暂停和恢复功能 我们可以使用它来通
  • 如何使用 superagent/supertest 链接 http 调用?

    我正在使用 supertest 测试 Express API 我无法在测试用例中获得多个请求来使用超级测试 以下是我在测试用例中尝试的内容 但测试用例似乎只执行最后一个调用 即 HTTP GET it should respond to G
  • 在 ASP.NET MVC 中使用多个部分时出现重复的输入 id

    我有三个部分视图 每个视图都具有单独的模型强类型 每个视图都包含它自己的表单并提交不同的操作 某些模型包含具有相同名称的属性 当我使用 html 帮助器方法创建文本框和标签时 我最终会在页面上出现重复的 html id 部分 住宅景观 mo