它就是一个尖括号生成器--微软项目经理(Scott Hanselman)
1.特点:
(1)紧凑,富有表现力和流畅
(2)上手快
(3)不是新编程语言
(4)可以使用任何文本编辑器编写
(5)智能感应输入提示
(6)便于单元测试
2.语法:
(1)语句结束符,在“@{/*代码体*/}”代码块内的代码每一行必须以“;”结束,而“@xxx”不需要。
(2)大小写敏感
(3)字符类型常量必须以双引号“”包括。
(4)注释:"//..."单行注释,“@*...*@”,“/*...*/”多行注释。
(5)局部变量:(不支持访问修饰符)
在单行上定义局部变量:
@{var total=7;}
@{var mystr="hello world";}
在多行上定义局部变量:
@{var str=“。。。”;
var str2="...";
}
在上下文中使用变量:
<p>the count is:@total</p>
<p>the message is:@mystr</p>
(6)在@{}内部可以使用任意html标记
(7)文本输出:
单行输出:@{@:你好;
@:你好;
}
多行输出:@{<text>
文本
文本
</text>
}
(8)支持if语句,for循环,while循环,foreach循环。
(9)类型转换方法:AsInt(),IsInt(),AsBool(),IsBool()...
(10)在Razor视图引擎页面可以引用.net框架提供的类库,当然也可以引用自己编写的类库。
3.Layout布局系统
Layout页面文件一般应放在Views/Shared文件夹下。
引用方法:@{
Layout="~/Views/Shared/_LayoutPage1.cshtml";
}
布局文件中可以包含很多节,使用@RenderSection()加入节,该方法有两种重载方法:@RenderSection(string name),@RenderSection(string name,bool requied)。注意@RenderBody()能出现一次,@RenderSection()可以出现多次。
4.ViewStart
Razor视图引擎提供了ViewStart功能,使用该功能可以不需要再每个视图中显式设置布局的新功能,而是能一次性定义网站内所有视图的布局逻辑,可让视图文件更干净,也更容易维护。ViewStart功能在名为“_ViewStart.cshtml”的文件中实现,其中的代码会先于放在任何其他视图的代码被执行,里面有默认生成的代码:@{Layout="~/Views/Shared/_Layout.cshtml";}
5.部分视图(Partial Views)
有点类似于aspx视图引擎中的用户控件,使用部分视图可以创建放置于不同页面的通用部分。创建方法有两种:一,在文件夹Views中用鼠标右击,选择命令“添加|Views”,按照提示创建部分视图;二,单击对应的行为方法,选择命令“Add View”,按照提示创建部分视图,新创建的部分视图是空白的,不包含任何代码,可以使用Html.Partial()方法把部分视图添加到视图中。
6.子行为
子行为是在一个视图中调用的行为方法,子行为与行为之间的关系如同部分视图与视图一样。子行为可以避免在应用程序中反复调用控制器。示例代码:
[ChildActionOnly]
public ActionResult SubMessage(){
return PartialView();
}
ChildActionOnly属性不是必须的,任何行为方法都可以作为子行为被调用,但是ChildActionOnly属性标记了一个行为只能在视图中作为子行为被调用,在视图中,用Html.Action()方法来调用子行为。