我有一份保险登记表,其中包含两个人的联系信息。我为联系人条目创建了 Razor 部分 View ,并将其放入表单中两次。 “主” View 模型 (VmApplicationForm) 包含与两个联系人相对应的辅助 View 模型 (VmPolicyHolder) 的两个实例以及两个联系人共有的一些属性。我在页面中调用 @Html.RenderPartial("_CreateOrEdit", Model.contactInfo1)
和 @Html.RenderPartial("_CreateOrEdit", Model.contactInfo2)
。通过这种安排(毫不奇怪),呈现的代码对于表单输入元素具有重复的 ID。
有什么方法可以让 RenderPartial 为 ID 和 Name 属性添加前缀吗?我在文档中看不到这一点,但也许我错过了一些东西。
最佳答案
抱歉,我还没有时间给你示例代码,但我会给你这个想法。您应该首先创建 EditorTemplate对于可能称为 ContactInfo
类。然后,在基类(持有两个联系人)编辑 View 中,您应该编写
@Html.EditorFor(model => model.contactInfo1)
@Html.EditorFor(model => model.contactInfo2)
这样,它将呈现该 EditorTemplate 并为其中的输入生成正确的 ID 和名称。
关于asp.net-mvc - 在 MVC3 razor 表单中使用多个局部 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6929580/