--------------任何时候Razor有了二义性,都可以用圆括号指明想要的内容

@{string str="zhangdi";
  MvcApplication1.Models.Album alb=new  MvcApplication1.Models.Album ();
  alb.Title = "a";
  }
  <!--输出:zhangdi.aa-->
 <li>@(str).aa</li>
 <!--输出:962410314a-->
 <li>962410314@(alb.Title)</li>

 <!--输出962410314 @alb.Title-->
 <li>962410314 @@alb.Title</li>


--------------Html编码

 @{
     string script = "<script>alert('xss攻击')</script>";
     }
<!--不显示html标记-->
<li>@script</li>
<!--显示html标记-->
<li>@Html.Raw(script)</li>


<script type="text/javascript">
    $(function () {
        var msg = '@ViewBag.User';
        $("#message").html(msg);

        var msg2 = '@Ajax.JavaScriptStringEncode(ViewBag.User)';
        $("#message2").html(msg2);
    });
</script>
<li id="message"></li><!--输出:<script>alert('asdasd')</script>-->
<li id="message2"></li><!--输出:弹出框'asdasd'-->

<!--显示:\u003cscript\u003ealert(\u0027asdasd\u0027)\u003c/script\u003e-->
@Ajax.JavaScriptStringEncode(ViewBag.User)


--------------Razor语法

<!--1,隐式识别代码-->
<li>@ViewBag.Message</li>

<!--2,显示识别代码-->
<li>Show@(ViewBag.Message)</li>

<!--3,无编码代码-->
<li>@Html.Raw(ViewBag.Message)</li>

<!--4,代码块-->
@{
    int x = 1;
    string abc = "abc";
}

<!--5,文本域标记相结合-->
@foreach (var item in new int[]{1,2,3})
{
    <li>@item</li>
}

<!--6,混合代码与纯文本-->
@if (ViewBag.Message == "<h style='color:red'>zhangdi</h>")
{ 
    <text>张迪</text>
}

@*7,转义代码分隔符(转义为@)*@
<li>@@</li>

<!--8,服务器的注释-->
@*
@for (int i = 0; i < 10; i++)
{
			 
}*@

<!--9,调用泛型方法-->
@*泛型方法等也需要显示使用(),因为"<"标记会使Razor转回标记*@