Razor和ASPX有什么区别?

在MVC项目中Razor和ASPX有什么区别吗?

这是关于语法吗? 这是我读完这个后想的…我错了吗?

我想这个可以归结为是的。

从文章中的例子可以看出,语法非常轻巧,解释器相当“聪明”。

您可以将其与火花视图引擎进行比较,看看三者之间的差异。

这一切都归结为您的网页视图中的 语法 ,但ASPX和Razor是非常不同的视图引擎。 Razor不依赖于ASPX所使用的相同pipe道。 因此,我认为Razor只是一个parsing引擎。

其中一个好处就是你可以使用Razorparsing器来运行任何string,其中aspx需要一个httpcontext和其他重量级的元素。

razor支持testing驱动开发…..而在具有system.web.ui.page类的web引擎中不支持TDD。 testing驱动的开发意味着在你编写代码之前先testing代码。

Razor是Asp.net MVC应用程序的替代视图引擎,并且通过与.aspx完全不同的代码实现。 这就像Java MVC Web应用程序中的JSP和Velocity之间的区别。

  1. 默认情况下,Razor Engine可以防止XSS攻击(跨站脚本攻击),这意味着它在呈现之前对脚本或html标记进行编码,例如<,>。
  2. Razor引擎支持TDD(testing驱动开发),因为它不依赖于System.Web.UI.Page类。

在我看来,我认为Razor是微软在推出.NET时汲取了他们留下的所有经典ASP开发人员。 这个范例与ASP非常相似,服务器端代码与客户端html / js混合在一起。 一个有利的环境,一遍又一遍,到“意大利面条码”的困境。

但是对于像我这样的ASP开发者来说,这是一个支持平台的最直接的途径。 而且我保留了我习以为常的html / js的绝对控制权。

编辑:顺便说一句….我正在谈论剃刀在.cshtml中使用。 我可能应该说,.cshtml是毫秒摆动。