我们可以在ASP.NET Webforms(* .aspx页面)中使用Razor语法吗?
我喜欢微软开发的WebMatrix产品内联编码的Razor语法(http://en.wikipedia.org/wiki/Microsoft_WebMatrix)。
既然Visual Studio SP1有RTM'd,是否有可能(和/或计划)在ASP.NET Webforms中使用Razor语法?
谢谢!
我们(ASP.NET团队)目前没有计划使用Razor语法来支持WebForms页面模型。 此外,我们不太可能认真考虑这一点,因为这两个模型太不同了,不能一起工作。
你可以使用没有MVC的Razor页面; 这被称为ASP.Net WebPages。
只需添加.CSHTML文件到一个正常的ASP.Net 4.0项目。
我解释了这是如何在我的博客工作。
您可以使用Codeplex提供的RazorEngine集成它。 它允许你在MVC之外处理razor。 虽然你没有得到从Razor的MVC版本获得的所有function,例如@Html
和@Url
等等。
我敢说微软已经考虑过这个问题,但是在这个问题上没有官方的说法。 由于您不应该在ASPX文件中使用C#或VB代码,因此您不得不想要向Web窗体添加Razor支持。 后面的代码仍然是一个(部分)类文件。 你不会把Razor放在网页或MVC的类文件中。 交换服务器控件和Html Helpers的所有优秀的声明性内容将消除去Web窗体路线IMO的一个关键原因。
这真的不是很难做到。 现在正在处理它。 从CodePlex抓取RazorEngine。 它允许您在运行时将Razor cshtml / vbhtml文件编译到类中。
然后,您可以采用该类,并在其Render方法内使用它从ASP.Net服务器控件。 这是将HTML从服务器控件的主体中取出的好方法。 很多,更干净。
现在,您还可以添加一些可以从Razor调用的方法。 例如,添加像RenderChild的东西。 此外,您可以将服务器控件本身设置为Razor可用的模型。 然后你可以调用服务器控件。 包括做像抓住其中一个子控件和调用渲染。
- 在ASP.NET MVC中:从Razor视图调用Controller Action Method的所有可能的方法
- Razor ViewEngine:我如何转义“@”符号?
- 出生datevalidation不断显示
- 剃刀语法 – foreach循环
- 剃刀:@ Html.Partial()vs @RenderPage()
- 如何创build自定义validation属性?
- 如何将parameter passing给mvc 4中的局部视图
- 从其他控制器呈现部分视图
- 尝试“System.Web.Mvc.PreApplicationStartCode.Start()”到关键方法“System.Web.WebPages.Razor.PreApplicationStartCode.Start()”失败