Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Razor和ASPX有什么区别?_C#_Asp.net Mvc_Razor - Fatal编程技术网

C# Razor和ASPX有什么区别?

C# Razor和ASPX有什么区别?,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,MVC项目中Razor和ASPX之间有什么区别吗 只是语法问题吗?这就是我在…之后的想法。。。我错了吗?我想可以归结为这一点,是的 从本文中的示例可以看出,语法非常轻量级,解释器非常“智能” 您可以将其与spark view engine进行比较,并查看三者之间的差异。Razor是Asp.net MVC应用程序的另一种视图引擎,其实现代码与.aspx完全不同。这就像Java MVC web应用程序中JSP和Velocity之间的区别一样。这一切归结为网页视图中的语法,但ASPX和Razor是完全

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


只是语法问题吗?这就是我在…之后的想法。。。我错了吗?

我想可以归结为这一点,是的

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


您可以将其与spark view engine进行比较,并查看三者之间的差异。

Razor是Asp.net MVC应用程序的另一种视图引擎,其实现代码与.aspx完全不同。这就像Java MVC web应用程序中JSP和Velocity之间的区别一样。

这一切归结为网页视图中的语法,但ASPX和Razor是完全不同的视图引擎。Razor与ASPX不依赖于相同的管道。正因为如此,我认为Ra剃只是一个解析引擎。


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

Razor支持测试驱动的开发…..而web引擎中有system.web.ui
.page类不支持TDD。测试驱动开发意味着在编写代码之前先对代码进行测试

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

但对于像我这样的ASP开发人员来说,这是通往受支持平台的最直接的途径。我还保留了我习惯的对html/js的绝对控制权

编辑:顺便说一下。。。。我说的是.cshtml中使用的Razor。我可能应该这么说。cshtml是ms在四处游荡

  • 默认情况下,Razor引擎可防止XSS攻击(跨站点脚本攻击),这意味着它会像在渲染到视图之前一样对脚本或html标记进行编码
  • Razor引擎支持TDD(测试驱动开发),因为它不依赖于System.Web.UI.Page类
  • 看看这张表