2011-07-04 57 views
12

嗨,我刚刚下载MVC 3,并发现一个名为“RAZOR”的新视图引擎。它有什么用处?MVC 3 ASPX VS RAZOR查看引擎

它提供了什么好处?

与ASPX页面有什么不同?

应该在哪里使用RAZOR视图引擎?

回答

18

斯科特谷涵盖了大多数的问题在他的剃刀introductory blog post

我们一直 工作在新的视图引擎选项是围绕HTML 代使用代码集中 模板方法

优化

...

  • 紧凑,富有表现力,和Fluid:Razor最大限度地减少了 文件中所需的 字符和击键次数,并支持快速流畅的编码工作流程。与大多数模板 语法不同,您不需要中断 您的编码,以在您的HTML中明确指示 服务器块。 解析器足够聪明,可以从您的代码中推断出这个 。这使得真正的 紧凑和表达的语法是 干净,快速和有趣的类型。

  • 易于学习:剃刀很容易学习,并使您能够以最少的概念快速提高生产力。 您可以使用所有现有语言和HTML技能。

  • 是不是一个新的语言:我们有意识地选择了不创建剃刀新 命令式语言。 相反,我们希望能够让开发人员 使用他们现有的C#/ VB(或其它) 语言技能与剃刀,并且 提供一个模板标记语法 使一个真棒HTML建设 工作与您所选择的语言。

  • 适用于任何文本编辑器:剃刀并不需要特定的工具 ,使您能够成为生产力中 任何普通的文本编辑器(记事本 的伟大工程)。

  • 具有很大的智能感知:虽然剃刀已被设计为不需要 一个特定的工具或代码编辑器,它 将有真棒语句完成Visual Studio中 支持。我们将 更新Visual Studio 2010和Visual Web Developer 2010,让它具有完整编辑器 intellisense。

  • 单元测试:新的视图引擎的实现将支持的能力进行单元测试的看法(无需控制器或 Web服务器,并且可以在任何单元测试项目托管 - 不需要特殊 应用程序域)。
+8

刚开始使用MVC。这只是指出了Razor的一些设计特点。 Razor视图引擎在ASPX上的优点和缺点是什么? – RaoulRubin

8

Razor视图引擎和ASPX视图引擎之间的差异MVC

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

ASPX视图引擎是由包含在Asp.net MVC的Asp.net MVC默认的视图引擎开始。
Razor Engine是MVC3引入的高级视图引擎。这不是一种新语言,但它是一种新的标记语法。

ASPX视图引擎不支持TDD(测试驱动开发)
剃刀引擎支持TDD(测试驱动开发)

在Visual Studio ASPX视图引擎支持的设计模式是指你可以看到你的页面的外观和感觉无需运行应用程序。
Razor Engine不支持Visual Studio中的设计模式意味着您无法看到设计页面的外观和感觉。

ASPX View Engine比Razor Engine更快。
与Webform Engine相比,Razor Engine稍微慢一些。

语法 网络表单使用<%和%> 例如

< %: Html.ActionLink("SignUp", "SignUp") % > 

剃须刀使用@符号 例如

@Html.ActionLink("SignUp", "SignUp") 

ASPX视图引擎并不能防止跨站脚本攻击是指任何脚本保存在数据库中的内容将在呈现页面时被触发。
Razor引擎可以防止XSS攻击(跨站脚本攻击),它意味着它在编译脚本或html标记(如<,>)以便渲染以查看之前进行编码。