我有一個顯示訂單和顯示訂單詳細信息的頁面的頁面。訂單細節非常複雜,並且由於它們的佈局相同,我想使用將生成表單的部分視圖或編輯器模板。爲控件ID添加前綴並仍然綁定MVC Razor
的問題是,結果是多個重複的表單輸入ID生成的(每個訂單的詳細信息。例如,我有:
foreach (var orderDetail in Model.OrderDetils)
{
@Html.EditorFor(model => orderDetail, "WorkOrder", orderDetail)
}
我讀過很多關於這一點,看看解決它在哪裏建議使用editortemplate,但該解決方案只適用於具有相同形式的渲染,但傳遞不同的模型屬性,所以控制ID的前綴將不同...即like this solution。
在我的情況下,由於我所傳遞的模型屬性總是相同的,所以不起作用。
那麼我該如何在部分或編輯器模板中創建唯一的Id,該模板也將綁定。
我知道,而不是:
@Html.EditorFor(model => model.WOHdr.Attribute1)
我可以這樣做:
@Html.TextBoxFor(model => model.WOHdr.Attribute1, new { id = Model.Id + "_Attribute1" })
但是當它傳遞給控制器也不會綁定。
想法?
正在使用的值是使用字段名稱而不是id的。 – YD1m
@ YD1m謝謝,這是很好的瞭解...所以,如果你操縱Id ...,綁定不會受到影響,只要你單獨保留Name即可。 –