MVC 3 ASPX VS RAZOR视图引擎

12

你好,我刚刚下载了MVC 3并发现了一个名为“RAZOR”的新视图引擎。它有什么用处呢?

它提供了哪些好处?

与ASPX页面有何不同?

应该在哪些情况下使用RAZOR视图引擎?

3个回答

19

Scott Gu在他的Razor 介绍性博客文章中涵盖了大部分您的问题:

我们正在开发的新视图引擎选项是围绕使用代码为中心的模板化方法进行HTML生成而优化的

...

  • 简洁、表达力强和流畅:Razor最小化了文件中所需的字符和按键数,并实现了快速、流畅的编码工作流程。与大多数模板语法不同的是,你不需要在HTML中显式地指定服务器块来打断你的编码。解析器足够聪明,可以从你的代码中推断出这一点。这使得它拥有真正的紧凑和富有表现力的语法,它干净、快速并且打字非常有趣。

  • 易于学习:Razor易于学习,并使您能够快速掌握最少概念的生产力技能。您可以使用所有现有的语言和HTML技能。

  • 不是一种新语言:我们有意选择不使用Razor创建一种新的命令式语言。相反,我们想要让开发人员使用他们现有的C#/VB(或其他)语言技能与Razor一起使用,并提供一个模板标记语法,使HTML构建工作流程可以与您选择的语言一起变得更好。

  • 适用于任何文本编辑器:Razor不需要特定的工具,并使您在任何纯文本编辑器中都可以提高生产力(notepad非常适合)。

  • 具有出色的智能感知:虽然Razor经过设计,不需要特定的工具或代码编辑器,但它将在Visual Studio中拥有强大的语句完成支持。我们将更新Visual Studio 2010和Visual Web Developer 2010,以具有对其的完整编辑器智能感知支持。

  • 可单元测试: 新的视图引擎实现将支持在不需要控制器或Web服务器的情况下对视图进行单元测试,可以托管在任何单元测试项目中 - 不需要特殊的应用程序域。

9
刚开始学习MVC,这只是简单介绍了Razor的一些设计特点。相较于ASPX视图引擎,Razor视图引擎有哪些优缺点? - RaoulRubin

8
在MVC中,Razor视图引擎和ASPX视图引擎有何不同?

http://royalarun.blogspot.in/2013/12/difference-between-razor-view-engine.html

ASPX视图引擎是包含在Asp.net MVC中并从一开始就被默认使用的视图引擎。
Razor引擎是在MVC3中引入的高级视图引擎。这不是一种新语言,而是一种新的标记语法。
ASPX视图引擎不支持TDD(测试驱动开发)
Razor引擎支持TDD(测试驱动开发)
ASPX视图引擎支持Visual Studio设计模式,这意味着您可以在不运行应用程序的情况下查看页面外观和感觉。
Razor引擎不支持Visual Studio设计模式,这意味着您无法查看设计页面的外观和感觉。
ASPX视图引擎比Razor引擎更快。
与Webform引擎相比,Razor引擎稍微慢一些。 语法 Webform使用<%和%>例如
< %: Html.ActionLink("SignUp", "SignUp") % >  

Razor使用@符号,例如。
@Html.ActionLink("SignUp", "SignUp")

ASPX视图引擎无法防止跨站脚本攻击,这意味着保存在数据库中的任何脚本都将在渲染页面时触发。
Razor引擎可以防止跨站脚本攻击,这意味着它会在渲染视图之前对脚本或HTML标记进行编码,例如<,>。

我在这里发现了相同的信息。 - Karthick Raju

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接