原文 http://www.cnblogs.com/lmfeng/archive/2013/03/28/2986073.html
Razor语法概要:
1、Razor是以@为标识符
2、是以{}作为作用域的标识
3、可以按照一定规则将HTML和C#混合编写
4、若输出@要使用@@进行转义
@{
Layout = "~/_SiteLayout.cshtml";
Page.Title = "Welcome to my Web Site!";
<text>@@</text>
}
混合编写规则:
1、如果在作用域内是以html标签开始视为文本输出
2、如果不是html标签开始则视为C#代码
3、如果不是html标签开始,但是又不是C#代码,需要直接输出的,需要使用@:作为前缀
4、在文本中使用C#变量需要再以@声明
@{
var str = "abc";
@: this is a text
@str
}
特殊语法:
1、输出HTML
2、单行使用泛型
@Html.Raw(Module.Content)
@(str.Count<char>())
简单处理类型转换
1、As系列扩展方法
2、Is系列扩展方法
3、@Href方法
@("true".AsBool() ? "t" : "f")
@("2010-01-01".AsDateTime())
@("123".IsInt())
@Href("~/")//表示网站的根目录