Razor和ASPX有什么区别?

时间:2011-01-15 21:22:29

标签: c# asp.net-mvc razor

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

这只是语法吗?这就是我在reading this之后的想法...我错了吗?

6 个答案:

答案 0 :(得分:23)

这一切都归结为网页视图中的语法,但ASPX和Razor是截然不同的视图引擎。 Razor不依赖于ASPX所做的相同管道。因此,我认为Razor只是一个解析引擎。

其中一个优点是你可以对任何字符串运行一个Razor解析器,其中aspx需要一个httpcontext和其他重量级元素。

答案 1 :(得分:16)

我想它确实可以归结为,是的。

从文章中的示例中可以看出,语法非常轻量级,而且解释器非常“智能”。

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

答案 2 :(得分:5)

razor支持测试驱动开发.....而在具有system.web.ui的web引擎中 .page类不支持TDD。测试驱动开发意味着在编写代码之前以某种方式测试代码。

答案 3 :(得分:3)

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

答案 4 :(得分:2)

  1. 默认情况下,Razor Engine阻止XSS攻击(跨站点脚本攻击)意味着它对脚本或html标签进行编码,例如<,>在渲染之前。
  2. Razor Engine支持TDD(测试驱动开发),因为它不依赖于System.Web.UI.Page类。

答案 5 :(得分:0)

在我看来,我认为Razor正在微软摆弄他们引入.NET时所留下的所有经典ASP开发人员。范例非常类似于ASP,服务器端代码与客户端html / js混合。一个有利于一直有利于“意大利面条代码”的环境。困境。

但是对于很长一段时间的ASP开发人员,比如我自己,它是支持平台的最直接途径。而且我保留了我习惯的html / js的绝对控制权。

编辑:BTW ....我在谈论.cshtml中使用的Razor。我可能应该说.cshtml是在摇摆的。