Razor的出现,使页面看起更加简洁,Razor的页面后缀为:.cshtml
Razor基础语法:
1、代码注释:
多行注释: @*注释信息*@
单行注释: // 注释
1、代码体{...}
@{ var x=100; var y=100; string str="this is string"; }
在代码体中,没一行都需要用";"结束,代码区中,字母区分大小写。字符类型常量必须用""括起来,
2、 由于asp.net引擎会检解析查每个已@开头的代码,除非@前包括非空白字符;如:<div>test@razor</div>
这样输出的信息还是test@razor,这不会进行解析,页面输出@符合,可以用HTML中的ASCII编码@。
3、 在Razor中使用局部变量,进行上下文调用:
@{ var message="现在时间为:"; var time=DateTime.Now; var outMessage=message+time; } <div>@outMessage </div>
4、字符拼接输出
@{var cout=100;} <p>这是第 @count 个进球 </p>页面输出:这是第 100 个进球
@{ var name="张三"; @:你好: @:@name }页面输出:你好:张三
6、 逻辑代码处理
@{ if(true) { // do something; } else { // do something; } }
7、 在@{...}代码体内部使用html标记
@{ <div>this is <span>test</span></div> }
@{ <text> this first, this secend </text> }页面输出:this first, this secend
@{ // 单行注释 var mesage = "Now Time:"; @* 当前时间 输出当前时间 *@ /* * 使用C#中的 * 注释 */ var time = DateTime.Now; <!-- HTML注释--> var outMessage = mesage + time; }
9、 数据类型转换
AsInt(), IsInt() AsBool(),IsBool() AsFloat(),IsFloat() AsDecimal(),IsDecimal() AsDateTime(),IsDateTime() ToString() @{ var count = "100"; } <p>count:@count.AsInt()</p> 输出:count:100 <p>@count.IsInt()</p> 输出:True 如果 @{ var count = "test"; } <p>count:@count.AsInt()</p> 输出:count:0 <p>@count.IsInt()</p> 输出:False
即:AsInt() 如果转换不成功直接为0,IsInt返回Bool值,其他类似
10、循环使用
@{ /* for循环使用 */ for(int k=1;k<5;k++) { @:第 @k 个; } @*页面输出:第 1 个; 第 2 个; 第 3 个; 第 4 个; *@ // foreach 使用 var list =new List<string> { "one", "two", "three", "four" }; foreach(var str in list) { @:@str; } @*页面输出:one; two; three; four; *@ var flag=1; while(flag<5) { @:第@{@flag}个; flag++; } @*页面输出:第1个; 第2个; 第3个; 第4个; *@ }