asp.net-mvc - 在 MVC3 razor 表单中使用多个局部 View

标签 asp.net-mvc forms razor asp.net-mvc-partialview

我有一份保险登记表,其中包含两个人的联系信息。我为联系人条目创建了 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/

相关文章:

html - 如何限制容器的高度和宽度?

asp.net-mvc - MVC3 - 'Element ' 链接“无法嵌套在元素 'link' 内” - 尝试添加页面特定的 CSS

jquery - $.getJSON 不返回 MVC3 的响应

asp.net-mvc - 由于存在未决的更改,因此无法更新数据库以匹配当前模型

forms - web2py FORM 中的多个字段

php - 提交 PHP 电子邮件表单后如何重定向到 HTML 页面?

jquery - Ajax.BeginForm 添加从 Controller 发送的 ModelSstate 错误?

c# - 如何使用 Visual Studio 开发跨平台移动应用程序

css - 样式表 - 输入和按钮,CSS

asp.net - 中止/跳过/取消 Razor View 的渲染