2

我想开始将 WebForms 应用程序迁移到 MVC。这个过程将是渐进的,因此两个系统必须共存。

问题是:我是否应该有两个 MasterPage,一个用于 WebForms 页面,另一个用于 MVC 视图?有没有办法只有一个?

4

1 回答 1

3

在 ASP.NET MVC 中,母版页应派生System.Web.Mvc.ViewMasterPageSystem.Web.UI.MasterPage. 如果在 MVC 中您使用后者,您将无法访问任何帮助程序。尽管您可以ViewMasterPage在经典 Web 表单中使用,因为它派生自MasterPage(再一次,您将无法访问 Web 表单应用程序中的助手,但谁在乎)。

因此,要回答您的问题,是的,您可以拥有一个通用母版页,假设它源自ViewMasterPage.

话虽这么说,您可能无法像在 MVC 母版页中那样完成这项工作,您将使用 HTML 助手来呈现部分视图Html.RenderPartial,这在经典 WebForms 应用程序中没有多大意义,反之亦然,在经典 WebForms 应用程序中您可能会使用一些服务器端控件,例如<asp:xxx runat="server" />或有一个form标签(再次带有runat="server")被 ViewState 等污染……这在 MVC 中几乎没有任何意义。所以我的建议是不要这样做。

于 2010-08-26T18:07:30.717 回答