使用 @ 字符将代码添加到页面中,相当于<%= %>
<!-- 单语句块,声明两个变量-->
@{int num = 10;}
@{string str = "hello cnblogs";}
<!-- 内嵌代码块-->
<p>刚才声明的整形的值为: @num</p>
<p>刚才声明的字符型的值为: @str</p>
<!-- 多行代码块 -->
@{
string strHello = "Hello World";
string now = DateTime.Now.ToString();
string sayHello = strHello + "当前时间为:" + now;
}
<p>问好: @sayHello</p>
输出html标记
string sayHello="<b>Hello world</b>";
<p>@Html.Raw(sayHello)</p>
代码和标记混合
@for (int i = 0; i <= 10; i++) {
<span>第 @i 行<br /></span>
}
或
@for (int i = 0; i <= 10; i++) {
<span>第@(i)行<br /></span>
}
代码与纯文本混合
<p>第一种方式</p>
@if (true) {
<text>这里是if语句内部-1</text>
}
上面是Razor的内置标签,映射到浏览器就是纯文本显示没有任何的标记。
<p>第二种方式</p>
@if (true) {
@:这里是if语句内部-2
}
上面的@: 后面显示的就是文本
表达式与文本混合
<p>表达式与文本混合</p>
Hello @strHello .当前时间: @now
确保 @前要是空字符
Email地址
<p>Email地址</p>
abc@qq.com
输出 @符号
<b>@@</b>
注释
<h2>RazorTest</h2>
<!-- 这里是HTML注释 -->
@*
这里是Razor注释
*@
内容混合代码
<p>内容中混合代码</p>
<ul>
@for (int i = 0; i <= 10; i++) {
<li>
当前循环到第@(i+1)次
@if (i == 2) {
@:输出文本2
}
else if (i == 3) {
@:输出文本3
}
</li>
}
</ul>