asp.net-mvc – 为id而不是name设置HtmlFieldPrefix
设置ViewContext.ViewData.TemplateInfo.
HtmlFieldPrefix将添加所有name和id属性.
我想知道是否有一种方法可以只为id添加前缀并保留名称. 场景是这样的:AJAX在页面上多次加载局部视图.我们使用的JavaScript库需要使用id,但我们也希望能够发布表单(因此名称需要与服务器模型匹配). 我们当前的解决方案是每次加载局部视图时生成一个唯一的数字,将HtmlFieldPrefix设置为items [n](其中n是生成的数字)以及我们采取行动来接收一系列项目(我们只需要收到一个).这为我们提供了一个全局唯一的id和一个名称,可以通过模型绑定器进行解析. 但这感觉很难看.有什么建议? 解决方法
我和你一样有同样的问题.
@{ ViewData.TemplateInfo.HtmlFieldPrefix = "Prefix"; } @using(Html.BeginForm()) { @Html.AntiForgeryToken() @Html.ValidationSummary(true) @Html.TextBoxFor(m => m.MerchantAccount.MerchantName,new { maxlength = 29,size = 35 })<br /> @Html.ValidationMessageFor(m => m.MerchantAccount.MerchantName) } 首先,我的主意是:在页面加载时使用jQuery删除所有名称的不需要的前缀. $(‘[id * =“Prefix _’]).each(function(i,e){… 这里建议我们最终做了什么:https://stackoverflow.com/a/1318342/4946681 基本上,在控制器上,您可以说明要剥离的前缀(通过在方法签名中指定绑定前缀),并自动为您完成. 现在我们可以将我们的ID前缀蛋糕,并吃掉(绑定)它们! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 在某些报告中,aspx Crystal Report V
- asp.net – “HttpContext.Current”属性和相关事
- ASP.NET async /等待第2部分
- asp.net-mvc – 一种在ASP.NET MVC中排除操作过滤
- 为熟悉ASP.NET Web表单开发的人建议MVC3的周末学
- asp.net-mvc – 我的MVC 5 Identity 2项目中没有
- asp.net-core – 为什么默认的mvc6模板针对多个D
- asp.net-mvc-3 – 使用JSON.Net序列化EF4.1实体
- iis-7 – ASP 3.0应用程序对象
- asp.net-mvc-4 – 为什么Razor HTML部分视图不能