使用razor(cshtml)共享模板site.master aspx(c#)

时间:2012-01-15 10:32:59

标签: asp.net-mvc-3 asp.net-mvc-2

我已将项目升级到mvc3,并希望保留所有页面并添加新内容。 现在我的问题是如果我开始使用razor,如何在view.aspx(C#)和razor views(cshtml)之间共享我的site.master模板页面。 这是因为我不想让我的母版页和代码重复,原因很明显。

2 个答案:

答案 0 :(得分:1)

Scott Hanselman blogged about this

  

最常见的情况是某人拥有现有的WebForms   (ASPX)Master Page工作得很好,他们现在想要包含一个   他们的应用程序中很少有Razor页面,但不想保留两个   实际上相同的母版页(一个用于ASPX,一个用于Razor)。他们   想要与WebForms和Razor共享他们的WebForms Master   观。

他在博客文章中提供了解决方案。

答案 1 :(得分:-2)

您不能将母版页( .master)用于剃刀视图( .cshtml)。 它们不兼容,剃刀视图需要布局页面才能实现母版页提供的功能。

您可以创建与当前母版页具有相同标记的布局页面。这不会真正重复,因为它们不兼容。

或者更好的是你可以将所有东西都转换成剃刀,有一些工具可以帮助自动化这个过程。通过telerik razor converter

查看这个免费工具