我正在寻找将表单作为局部 View 嵌入多个页面的最佳实践。
我有一个联系表单,我希望将其嵌入网站的多个页面。通常,表单将位于联系人页面上,联系人模型可以是 View 的模型,并使用数据注释进行验证。但是, View 已经是强类型的。
如何在局部 View 中创建可重复使用的表单并将其嵌入到页面中?我在网站上使用 N2,因此页面必须已经具有强类型模型,但我愿意扩展这些对象。
最佳答案
就我个人而言,我建议将 for Html.RenderAction() 用于诸如此类的横切关注点。
联系表单的处理程序需要独立于您当前正在查看的页面而存在,因此您有 3 个选择:
- 手动将其添加到的响应中 当前操作
- 手动将其添加到的响应中 当前 Controller 通过一个 修改的基本 Controller ViewState 或 ViewModel
- 调用 RenderAction() 当前 View 内的 HtmlHelper
在这 3 个选项中,虽然第三个在技术上比 1 和 2 成本更高(因为它发起了一个全新的请求),但它也是最容易维护的解决方案。通过调用 RenderAction(),您的优势在于能够将您的联系表单与 View 的其余部分完全隔离,因此您不必担心将其入侵到当前 Controller 响应中。
关于asp.net-mvc - ASP.Net MVC 可重用形式作为 RenderAction 或 RenderPartial,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3536134/