asp.net-mvc-3 – 在ASP.NET MVC中使用多个部分时重复输入id
发布时间:2020-12-16 09:59:33 所属栏目:asp.Net 来源:网络整理
导读:我有三个局部视图,每个视图都使用单独的模型进行强类型化.每个视图都包含它自己的表单并提交给不同的操作.一些模型包含具有相同名称的属性,当我使用html辅助方法创建文本框和标签时,我最终会在页面上出现重复的html id. 部分_Residential View @model MyProj
我有三个局部视图,每个视图都使用单独的模型进行强类型化.每个视图都包含它自己的表单并提交给不同的操作.一些模型包含具有相同名称的属性,当我使用html辅助方法创建文本框和标签时,我最终会在页面上出现重复的html id.
部分_Residential View @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" /> } 部分_Business View @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助手没有考虑到视图中可以有多个模型.具有相同名称的所有属性将获得重复值(每个模型一个值).
也就是说,如果ResidentalTransaction和BusinessModel具有Name属性,则您的html表单将具有两个< input type =“text”name =“Name”/>领域. 如果将所有模型添加到同一个视图模型并使用Html.TextBoxFor(m => m.ResidentalTransaction.Id),我不确定它是如何工作的; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何获取“发布网站”命令为我的Visual Studio
- 扩展UltraGrid控件实现对所有数据行的全选功能[Source Code
- asp.net – 这是一个RESTFUL MVC Web服务吗?
- ASP.NET Core应用的错误处理[4]:StatusCodePagesMiddlewar
- 将空白字段值传递给存储过程ASP .NET C#
- asp.net-mvc – 防止多个登录
- asp.net-web-api-405使用AttributeRouting.PUTAttribute,除
- asp.net-mvc-3 – 如何传递Request.QueryString到Url.Actio
- asp.net – .NET程序集格式是否有大小限制?
- asp.net-mvc-3 – 如何从ModelMetadata检索GroupName数据注
推荐文章
站长推荐
- 处理ASP.NET Core中的HTML5客户端路由回退
- Asp.Net:如何允许访问内部网用户的页面,拒绝外网
- asp.net-mvc-3 – 尝试检索不存在的列的实体框架
- ASP.NET网站中的预定作业,无需购买专用服务器
- asp.net – 自定义动态数据中的数据注释
- asp.net-mvc – 使用自定义值呈现Html.Hidden帮助
- asp.net-mvc – 为什么我的ViewModel在[HttpPost
- asp.net-core – ASP.NET Core 1.1中的multipart
- asp.net-mvc-3 – ASP.NET MVC3 – Html.TextBox
- ASP.NET LinqDataSource数据绑定后,遇到[Missin
热点阅读