asp.net-mvc - ASP.Net MVC 可重用形式作为 RenderAction 或 RenderPartial

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

我正在寻找将表单作为局部 View 嵌入多个页面的最佳实践。

我有一个联系表单,我希望将其嵌入网站的多个页面。通常,表单将位于联系人页面上,联系人模型可以是 View 的模型,并使用数据注释进行验证。但是, View 已经是强类型的。

如何在局部 View 中创建可重复使用的表单并将其嵌入到页面中?我在网站上使用 N2,因此页面必须已经具有强类型模型,但我愿意扩展这些对象。

最佳答案

就我个人而言,我建议将 for Html.RenderAction() 用于诸如此类的横切关注点。

联系表单的处理程序需要独立于您当前正在查看的页面而存在,因此您有 3 个选择:

  1. 手动将其添加到的响应中 当前操作
  2. 手动将其添加到的响应中 当前 Controller 通过一个 修改的基本 Controller ViewState 或 ViewModel
  3. 调用 RenderAction() 当前 View 内的 HtmlHelper

在这 3 个选项中,虽然第三个在技术上比 1 和 2 成本更高(因为它发起了一个全新的请求),但它也是最容易维护的解决方案。通过调用 RenderAction(),您的优势在于能够将您的联系表单与 View 的其余部分完全隔离,因此您不必担心将其入侵到当前 Controller 响应中。

关于asp.net-mvc - ASP.Net MVC 可重用形式作为 RenderAction 或 RenderPartial,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3536134/

相关文章:

asp.net - Asp.net mvc中应该有一个服务层吗?

javascript - 无法为 <label> 标记内的单选按钮注册更改处理程序

c# - 如何仅在 App_Data asp.net mvc 中允许下载访问特定文件夹

javascript - 表单提交前的 jQuery off()

jquery - 使用 Ajax 更新 Asp.Net MVC 部分 View

json - 从 MVC 5 Controller 返回部分 View 和 JSON

c# - 不使用 SqlParameterCollection 时,SqlParameter 已包含在另一个 SqlParameterCollection 中

javascript - 将 1 个表单附加到另一个表单 - 然后提交

javascript - 如何将表单元素传递给 javascript 验证函数?

c# - 通过部分 View 的多个模型