我们有一个正在运行的解决方案包含许多具有相同母版页的web forms
应用程序,我们为母版页及其控件创建了一个类库项目,并在每个Web表单应用程序中引用它作为dll
以编程方式分配母版页
现在我们将向我们的解决方案添加两个新应用程序,但我们决定使用ASP.Net MVC 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);