大佬教程收集整理的这篇文章主要介绍了asp.net-mvc – 为什么ASP.NET MVC 4与IList for editor不能正确编写索引表示法?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
编辑
@model IList<BillingRateItem> @for (int i = 0;i < this.Model.Count(); i++) { @Html.HiddenFor(m => this.Model[i].billingRateItemID) }
产生的隐藏字段包括索引之前的一段时间,这是有问题的:
HTML已呈现
<input id="Model_BillingRateItems__0__BillingRateItemID" name="Model.billingRateItems.[0].billingRateItemID" type="hidden" value="9">
我想要的是什么
请注意,’Model.billingRateItems [0]’在名称和索引之间没有句点.这很好!
<input id="Model_BillingRateItems__0__BillingRateItemID" name="Model.billingRateItems[0].billingRateItemID" type="hidden" value="9">
编辑 – 这是调用编辑器的视图的示例
@model BillingRateViewModel // has multiple BillingRateItems @Html.EditorFor(m=>m.billingRateItems,"BillingRateItemsgrid")
注意:
当我更改编辑器以接受父对象(例如BillingRatE)时,索引工作正常.也许结论只是所有编辑都会以”开头.无论背景如何.在Enumerables的情况下,它将添加’.[].’即使这样做本机模型绑定器也没有帮助重建对象.
您可以使用@ Html.Hidden以这种方式创建此隐藏字段:
@Html.Hidden("[" + i + "].billingRateItemID",this.Model[i].billingRateItemID);
生成的HTML看起来像,我将成为每个项目的索引,值将采用BillingRateItemID:
<input name="[1].billingRateItemID" type="hidden" value="1">
然后默认的Model Binder将正确地处理列表.
以上是大佬教程为你收集整理的asp.net-mvc – 为什么ASP.NET MVC 4与IList for editor不能正确编写索引表示法?全部内容,希望文章能够帮你解决asp.net-mvc – 为什么ASP.NET MVC 4与IList for editor不能正确编写索引表示法?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。