以编程方式使用Web表单母版页作为ASP.Net MVC视图的母版页

时间:2011-12-19 16:34:11

标签: .net asp.net-mvc-3 master-pages webforms

我们有一个正在运行的解决方案包含许多具有相同母版页的web forms应用程序,我们为母版页及其控件创建了一个类库项目,并在每个Web表单应用程序中引用它作为dll以编程方式分配母版页

现在我们将向我们的解决方案添加两个新应用程序,但我们决定使用ASP.Net MVC 3来构建这些新应用程序。

问题是,我们必须为新应用程序使用相同的母版页,那么我们如何使用代码为我们的视图设置母版页呢?

注意记住我们的母版页是一个类库项目。

3 个答案:

答案 0 :(得分:3)

查看这篇文章,了解将Webforms与MVC混合的概述:

另一个有趣的项目是Zeus,当谈到混合的Webforms / MVC解决方案时。 它包含在Webform页面上使用HtmlHelper和UrlHelper的帮助程序。

答案 1 :(得分:1)

如果您真的想要继续前进MVC路线,那么您应该投入一些时间将主页面转换为布局。其他一切都是黑客/解决方法。

答案 2 :(得分:1)

Amir,我在here上传了一份工作样本。步骤,

1)从here下载并转换了一个示例应用程序。

2)在此解决方案中添加MVC 3应用程序,并添加引用上述解决方案的类库。

3)在MVC视图中指定MasterPage(在视图中,MasterPageFile="~/MasterPageDir/MasterPage.master"或在控制器中返回View("Index",masterName: MasterPageVirtualPathProvider.MasterPageFileLocation);)。

4)将这些行放在global.asax中。

MasterPageVirtualPathProvider vpp = new MasterPageVirtualPathProvider();
HostingEnvironment.RegisterVirtualPathProvider(vpp);