Razor 不是编程语言,是服务器端的标记语言
语法
<ul>
@for(int i=0;i<10;i++)
{
<li>@i</li>
}
</ul>
语法规则
1、Razor代码封装于@{···}中
2、行内表达式(变量和函数以@开头)
3、代码语句以分号结尾
4、字符串由引号包围
5、C#代码对大小写敏感
6、C#文件的扩展名为.cshtml
实例:
<!-- 单行代码块 -->
@{ var myMessage = "Hello World"; }
<!-- 行内表达式或变量 -->
<p>The value of myMessage is: @myMessage</p>
<!-- 多行语句代码块 -->
@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
}
<p>The greeting is: @greetingMessage</p>
数据类型
类型 | 描述 | 实例 |
---|---|---|
string | 字符串值 | |
int | 整数 | 100,6,2014 |
float | 浮点数 | 2.66 |
decimal | 小数 | 125.18514 |
bool | 逻辑值 | true,false |
运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 为变量赋值 | i=1 |
+ | 加上值或变量 | i=1+1 |
- | 减去值或变量 | i=1-1 |
* | 乘值或变量 | i=1*1 |
/ | 除值或变量 | i=5/5 |
+= | 递增变量 | i+=1 |
-= | 递减变量 | i-=1 |
== | 相等。如果值相等,则返回true。 | if(i==10) |
!= | 不相等。如果值不相等,则返回true。 | if(i !=10) |
< | 小于 | if(i<1) |
> | 大于 | if(i>1) |
<= | 小于等于 | if(i<=1) |
>= | 大于等于 | if(i>=1) |
+ | 字符串相加(级联或并置) | “hello”+“world” |
. | 点。分隔对象与方法 | DateTime.Hour |
() | 括号。对值进行分组。 | (i+5) |
() | 括号。传递参数。 | x=Add(i,5) |
[] | 括号。访问数组或集合中的值 | name[3] |
! | 非。反转true或false。 | if(!hello) |
&& | 逻辑与 | if(hello && study) |
// | 或 | if(hello // study) |
转换数据类型
方法 | 描述 | 实例 |
---|---|---|
AsInt() / IsInt() | 把字符串转换为整数 | if(myString.IsInt()) / {myInt=myString.AsInt();} |
AsFloat() / IsFloat() | 把字符串转换为浮点数 | if(myString.IsFloat()) / {myInt=myString.AsFloat();} |
AsDecimal() / IsDecimal() | 把字符串转换为十进制数 | if(myString.IsDecimal()) / {myInt=myString.AsDecimal();} |
AsDateTime() / IsDateTime() | 把字符串转换为ASP.NET DateTime类型 | if(myString.IsDateTime()) / {myInt=myString.AsDateTime();} |
AsBool() / IsBool() | 把字符串转换为逻辑值 | if(myString.IsBool()) / {myInt=myString.AsBool();} |
ToString() | 把任意数据类型转换为字符串 | if(myString.IsBool()) / {myInt=myString.AsBool();} |