问题是结果是生成了多个重复的表单输入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" })
但是当它传递给控制器时它不会绑定.
思考?
解决方法 试试这个@HTML.TextBoxFor(model => model.WOHdr.Attribute1,new { @ID = @Model.ID + "_Attribute1" })
使用“@”动态值.现在你将获得独特的ID
在EditorFor中你可以像这样使用
@HTML.EditorFor(model => model.WOHdr.Attribute1,null,"ID=" + @Model.ID + "" )
ID将生成这样的
ID="ID_1",ID="ID_2" and so on..总结
以上是内存溢出为你收集整理的c# – 为控件id添加前缀,并且仍然绑定MVC Razor全部内容,希望文章能够帮你解决c# – 为控件id添加前缀,并且仍然绑定MVC Razor所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)