在這個問題上搜索了很多,我阿斯金幫助社區後: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