Asp.net MVC 3 中引入了一个新的View Engine: Razor。使用Razor不需要学习新的语言,也更容易将动态代码与HTML结合,抛却了<%%>这样的标记,使用一个神奇的@号,就能搞定一切,就像JQuery中的$号一般神奇,而且能够给我们留下更干净的HTML代码。相比Aspx,在VS2010中,Razor更加智能,现在写一个对Model的类型声明终于可以靠语法提示完成了。
在View的第一行键入 @model WebApplication1.Models. 这里就会有智能提示搞定了。
Razor引擎的视图为cshtml格式,下面对比下两种脚本引擎的语法,以下,都参考Scott的博客上的介绍。首先,国际惯例,先来个Hello World。
Hello world
实现如图的页面:
使用 .ASPX,我们需要写 <%= %>的语法来输出一个变量,像下面这样写:
输出一个变量,需要五个字符 <%= %>,而且%这个字符需要按Shift+5,是一个不容易输入的字符。如果我们使用Razor,像下面一样:
Razor解析器能读懂C#/VB的语法,并能提供智能感知,所以上面的代码,就不需要明确的指定代码块。Razor能够识别上述语句,将他们作为自包含的代码块。上面的代码中,我们输出一个变量只需要1个@字符,比aspx中节省了4个。而且@号比其%号,容易敲多了,这样在输入代码的时候,键盘敲击会更流畅。