我想开始将WebForms应用程序迁移到MVC。这个过程将是渐进的,因此两个系统必须共存。
问题是:我应该有两个MasterPages,一个用于WebForms页面,另一个用于MVC视图吗?有没有办法只有一个?
答案 0 :(得分:3)
在ASP.NET MVC中,母版页应该来自System.Web.Mvc.ViewMasterPage
而来自System.Web.UI.MasterPage
的经典WebForms。如果在MVC中使用后者,则无法访问任何帮助者。虽然您可以在经典网页表单中使用ViewMasterPage
,因为它来自MasterPage
(您再次无法访问网络表单应用程序中的帮助程序,但是谁会关心)。
所以回答你的问题,是的,你可以有一个共同的主页,假设它来自ViewMasterPage
。
这就是说你可能无法像在MVC母版页中那样使用HTML帮助器来渲染像Html.RenderPartial
这样的部分视图,这在经典的WebForms应用程序中没有多大意义反之亦然在经典的WebForms应用程序中,您可能会使用某些服务器端控件,如<asp:xxx runat="server" />
,或者只有form
标记(再次使用runat="server"
)被ViewState污染等等...这在MVC中几乎没有任何意义。所以我的建议是不要这样做。