在这个问题上搜索了很多,我阿斯金帮助社区后:Asp.net MVC。在EditorTemplate或@ Html.Action重名/部分
我在做财产以后这样的视图(问题是相同的,如果我使用@ Html.Action或PartialView
@for(int i= 0; i< Model.Contacts.Count(); i++)
{
@Html.EditorFor(m => m.Contacts[i] , "AccreditationContact")
}
我有一个经典的EditorTemplate或PartialView像
@model FrontOffice.Models.AccreditationStepSevenModel
<div>
@Html.LabelFor(m => m.Nom)
@Html.TextBoxFor(m => m.Nom)
@Html.ValidationMessageFor(m => m.Nom)
</div>
[There is a lots of other fields here]
为现场生成的HTML“标称”看起来像这样的事情:
<input id="Contacts_0__Nom" name="Contacts[0].Nom" type="text" value="Doe" >
<input id="Contacts_1__Nom" name="Contacts[1].Nom" type="text" value="Doe1" >
<input id="Contacts_2__Nom" name="Contacts[2].Nom" type="text" value="Doe2" >
当我提交我的形式在这里没问题,一切都正常在我的控制器
现在我想以动态的JavaScript生成另一个AccreditationStepSevenModel绑定到一个数组由本地ModelBinder的,我使用的用Jquery加载$。问题是,生成的HTML不增加名称,然后我有多个字段具有相同的名称,我的ModelBinder不工作了...
我想过在JavaScript中重命名的名称,这将工作,但有更好的解决方案吗?
感谢您的帮助!
感谢Kibria,这是链接的我一直在寻找。我在想,如果微软在MVC弗拉姆想过那种ework但显然不是...... Steeve的帮手很棒! – 2013-02-28 13:08:45
实际上,Steeve的解决方案效果很好,除了客户端验证不起作用......但我会满意它 – 2013-02-28 15:32:26