是否可以在现有的 ASP.NET 4 网站上使用 Razor?
3 回答
是的,您可以将 Razor 与现有的 ASP.NET 网站一起使用。只需使用 WebMatrix 工具打开您的网站并开始添加 CSHTML 文件。需要注意的一点是,如果您的网站使用 WebForms 控件,WebMatrix 工具将不会提供任何在现有 aspx 页面中使用它们的帮助。此外,Razor 不支持 WebForms,因此您将无法<asp:GridView>
向 CSHTML 文件添加类似内容。
如果您已经安装了 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 Web Pages (Razor) 和 ASP.Net WebForms 确实是不同的平台,并且每个平台的可重用组件都不能(或至少不应该)使用
marcind 是正确的,如果您想在 WebMatrix 中打开现有的 ASP.NET 网站并从该工具中进行处理。另一方面(或除此之外),如果您想在您的站点中使用 Razor 语法并留在 VisualStudio 中,请查看这篇文章:http ://weblogs.asp.net/rashid/archive/2010/07/ 10/使用-razor-as-asp-net-mvc-viewengine.aspx
你需要做四件事:
添加对随 WebMatrix 安装的 Razor 程序集的引用。这些可以在 C:\Program Files\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies 中找到
创建一个自定义的ViewEngine类,一个继承自IView的View类(没那么难,查看上面文章中的源码)
将新的 ViewEngine 添加到
Global.asax
Application_Start()
ViewEngines.Engines.Add(new RazorViewEngine(("cs"));
创建带有
.cshtml
扩展名的视图页面,而不是.aspx
这里有几个步骤,但它的工作很快,上面文章中的源代码会让你走得很远。