我们有一个很大的遗留应用程序,我们想要开始使用MVC来实现新的功能.
routes.IgnoreRoute( "{*allaspx}",new { allaspx = @".*\.as[pmh]x(/.*)?" } );
而且我们希望在旧的WebForms和新的MVC页面之间共享主页面.
这似乎很简单 – 改变了主机从ViewMasterPage继承,它也可以用作MVC页面的主机.
问题是HTML< form>.
主页具有< form>标签在顶部和3个内容面板里面,这是WebForms喜欢它.页面控件覆盖主表单以指向页面,这似乎是一个硬编码的行为.
所有三个内容面板都有WebForms控件,因此页面级别< form>标签需要在其外面覆盖所有三个.这样的事情
<form id="form1" runat="server"> ... <asp:contentplaceholder id="content1" runat="server" /> ... <asp:contentplaceholder id="content2" runat="server" /> ... //etc </form>
然而,对于MVC,我们希望使用Html.BeginForm帮助器在视图中使用表单. HTML不允许嵌套表单. MVC模式需要将视图发布回不同的操作(例如,“详细信息”视图可能会发布回“编辑”操作).
有人知道一个很好的方法吗?