使用 @ 字符将代码添加到页面中,相当于<%= %>

<!-- 单语句块,声明两个变量-->
@{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>