Asp.net 在MVC和WebForms之间共享主控程序-处理<;表格>;

Asp.net 在MVC和WebForms之间共享主控程序-处理<;表格>;,asp.net,asp.net-mvc,webforms,Asp.net,Asp.net Mvc,Webforms,我们有一个大型的遗留应用程序,我们希望开始使用MVC实现新功能 为此,我们添加了自定义路由,例如: routes.IgnoreRoute( "{*allaspx}", new { allaspx = @".*\.as[pmh]x(/.*)?" } ); 我们希望在旧的WebForms和新的MVC页面之间共享母版页 这似乎很简单-将母版更改为继承自ViewMasterPage,它也可以用作MVC页面的母版 问题在于HTML 母版页顶部有一个标签,里面有3个内容面板,这就是WebForms喜欢的方

我们有一个大型的遗留应用程序,我们希望开始使用MVC实现新功能

为此,我们添加了自定义路由,例如:

routes.IgnoreRoute( "{*allaspx}", new { allaspx = @".*\.as[pmh]x(/.*)?" } );
我们希望在旧的WebForms和新的MVC页面之间共享母版页

这似乎很简单-将母版更改为继承自
ViewMasterPage
,它也可以用作MVC页面的母版

问题在于HTML

母版页顶部有一个
标签,里面有3个内容面板,这就是WebForms喜欢的方式。
页面
控件重写母版表单以指向页面,这似乎是一种硬编码行为

所有三个内容面板都有WebForms控件,因此页面级别的
标记需要在它们之外才能覆盖所有三个。大概是这样的:

<form id="form1" runat="server">
    ...
    <asp:contentplaceholder id="content1" runat="server" />
    ...
    <asp:contentplaceholder id="content2" runat="server" />
    ... //etc
</form>

...
...
... //等
但是,对于MVC,我们希望使用
Html.BeginForm
helper在视图中包含表单。HTML不允许嵌套表单。MVC模式需要视图回发到不同的操作(例如,“详细信息”视图可能回发到“编辑”操作)


有人知道解决这个问题的好方法吗?

我们在web表单和MVC之间共享一个母版页,而MVC没有
。您可以为web表单创建一个中间母版页,该母版页反过来使用您的根母版页,但会添加
。母版页的层次结构对于这些构造非常有用

我知道这个相关的问题:这里我特别关注表单标签的问题这基本上是我最后做的-有一个带有一些布局的common.master,然后是一个MVC.master和一个WebForms.master你有我能看到的例子吗?我想我的情况正在好转。