我们可以在现有的ASP.NET 4网站上使用Razor吗?

时间:2010-07-15 08:42:35

标签: asp.net-4.0 razor webmatrix

是否可以在现有的ASP.NET 4网站上使用Razor?

3 个答案:

答案 0 :(得分:9)

是的,您可以将Razor与现有的ASP.NET WebSite一起使用。只需使用WebMatrix工具打开您的网站,然后开始添加CSHTML文件。 需要注意的是,如果您的网站使用WebForms控件,WebMatrix工具将不会在现有的aspx页面中提供任何帮助。此外,Razor不支持WebForms,因此您无法将<asp:GridView>之类的内容添加到CSHTML文件中。

答案 1 :(得分:2)

如果您已经安装了VS2010和MVC 3(包括用于构建ASP.NET Razor网站的Visual Studio工具),则甚至不需要在Web Matrix中打开该站点。安装MVC 3使得开发Razor页面所需的库可用,甚至可用于现有的Web应用程序。

请参阅:

http://www.asp.net/webmatrix/tutorials/program-asp-net-web-pages-in-visual-studio

您无需创建新的网页站点(根据说明)。您可以打开现有的网站,右键单击该网站的根文件夹,单击添加项目,您应该看到“网页(Razor)”作为选项。

Inellisense和调试在Razor页面中就像Web窗体页面一样

如上所述,请记住,ASP.Net网页(Razor)和ASP.Net WebForms实际上是不同的平台,并且每个平台的可重用组件都不能(或者至少不应该)使用

答案 2 :(得分:1)

如果你想在WebMatrix中打开现有的ASP.NET网站并在工具中处理它,那么marcind是正确的。另一方面(或者除此之外),如果您想在您的站点中使用Razor语法并保留在VisualStudio中,请查看以下文章:http://weblogs.asp.net/rashid/archive/2010/07/10/use-razor-as-asp-net-mvc-viewengine.aspx

您需要做四件事:

  1. 将引用添加到随WebMatrix一起安装的Razor程序集。这些可以在C:\ Program Files \ Microsoft ASP.NET \ ASP.NET网页\ v1.0 \ Assemblies

  2. 找到
  3. 创建一个自定义的ViewEngine类,一个继承自IView的View类(不是那么难,请查看上面文章中的源代码)

  4. Global.asax Application_Start()

    中添加新的ViewEngine
    ViewEngines.Engines.Add(new RazorViewEngine(("cs"));
    
  5. 使用.cshtml扩展名创建视图页面,而不是.aspx

  6. 这里有几个步骤,但这是快速的工作,上面文章的来源将为你提供很长的路要走。