asp.net-mvc – 是否可以在MVC和Webforms之间共享母版页?

添加MVC到一个项目,有一个旧的webform页面。这工作正常。但是,我目前有一个单独的母版页面为MVC和webforms。两个母版页产生基本相同的输出。我真的想杀死webforms一个,只是使用MVC母版页与所有我的网页,并保持干。

不是DRY已经咬了我几次,当我忘了改变两者。

我试着做明显的方式,只是指向Webform内容页面的MasterPage属性在MVC母版页。这引发一个错误,说MVC大师只能使用MVC视图。

这似乎是混合MVC和webform项目的一个很常见的问题。我的MVC主人没有做任何事情与ViewData,所以我没有看到任何原因webforms不能使用它们。

解决方法

您可以绝对共享同一个母版页。您的MVC母版页必须通过其MasterPageFile属性简单地指向WebForms母版页。这适用于您的WebForms MasterPage样式到您的MVC MasterPage。

我在生产中使用这个设置。

在我的MVC主页上的声明,指向Web窗体主页:

<%@ Master Language="C#" MasterPageFile="~/MasterPage/Site.Master"
AutoEventWireup="true" Inherits="System.Web.Mvc.ViewMasterPage" %>

奇迹般有效。

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...