【问题标题】:What is the difference between Razor and ASPX?Razor 和 ASPX 有什么区别?
【发布时间】:2011-01-15 21:22:29
【问题描述】:

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

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

【问题讨论】:

标签: c# asp.net-mvc razor


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:
          1. 默认情况下,Razor 引擎会阻止 XSS 攻击(Cross-Site Scripting Attacks),这意味着它会在渲染到视图之前对脚本或 html 标签(如 )进行编码。
          2. Razor 引擎支持 TDD(测试驱动开发),因为它不依赖于 System.Web.UI.Page 类。

          【讨论】:

            【解决方案6】:

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

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

            编辑:顺便说一句....我说的是 .cshtml 中使用的 Razor。我可能应该说 .cshtml 是 ms 左右摇摆。

            【讨论】:

              猜你喜欢
              • 2012-10-22
              • 2019-10-05
              • 2019-08-30
              • 1970-01-01
              • 1970-01-01
              • 2020-05-08
              • 1970-01-01
              • 1970-01-01
              • 2010-10-02
              相关资源
              最近更新 更多