加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 在MVC和WebForms之间共享一个主 – 处理

发布时间:2020-12-15 20:14:02 所属栏目:asp.Net 来源:网络整理
导读:我们有一个很大的遗留应用程序,我们想要开始使用MVC来实现新的功能. 为此,我们添加了自定义路由,例如: routes.IgnoreRoute( "{*allaspx}",new { allaspx = @".*.as[pmh]x(/.*)?" } ); 而且我们希望在旧的WebForms和新的MVC页面之间共享主页面. 这似乎很简
我们有一个很大的遗留应用程序,我们想要开始使用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模式需要将视图发布回不同的操作(例如,“详细信息”视图可能会发布回“编辑”操作).

有人知道一个很好的方法吗?

解决方法

我们在Web表单和没有< form>的MVC之间共享一个主页面.您可以为Web表单创建一个中间母版页,然后再使用您的根母版页,但添加< form&gt ;.主页的层次结构对于这些构造非常有用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读