MVC--View层

     Razor二义性:

       1,当view层中出现   邮件格式时候比如   [email protected] 这种情况Razor将会出现多义性

       可以使用@@来转义为一个@字符,

       如:<p>you must follow @james,@jessica,@Andy</p>   这里Razor会以变量的形式解释james,jessica,andy,

          这不是我们想要的效果,所以可以使用@@来转义<p>you must follow @@james,@@jessica,@@Andy</p>

       但是Razor内部做了一般邮箱的识别,

       如:[email protected]可能会识别为邮箱地址,那么这时可以在后面加上item_(@items.Length)来计算后面的值

 

Html编码

  1, Razor表达式是Html编码的

   {

     @string message ="<script>alert(‘warning‘)</script>"

    }

    <div>@Message</div>                  这里就不会弹出对话框,而是编码后的html文本

  如果要显示一个对话框

          1,可以使用HtmlString的实例,

          2,可以使用@Html.Raw(message)

  应尽可能的避免脚本注入

 2,如果要在脚本中使用Razor语法,那么最好的解决方案便是   使用@Ajax.JavaScriptStringEncode(ViewBag.UserName)

 

 代码块

  @foreach(var item in lst)

    {

         <li>this is @item</li>

    }

   @{

           语句

      }

 

 注释:@**@

   布局

   @{layout=~/Views/Shared/SiteLayout.cshtml}

   @RenderBody()相当于web form中的Placehold控件

   @RenderPatitial() 进行部分视图的绘制

   //@RenderSection("Footer")

 

 

 

 

    

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。