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