首页 > 代码库 > ASP.NET MVC:Razor 引入命名空间

ASP.NET MVC:Razor 引入命名空间

——摘自Rocky Ren

ASP.NET MVC:Razor 引入命名空间

@using MvcApplication83.Models

@using MvcApplication83.Common

 

 

1.Razor的HtmlEncode问题

 

默认的情况下我们的Razor输出会进行HtmlEncode编码

 

如 

 

 

 

   1: @{        

    2: var html="<p>text</p>";   

    3: }   

    4: @html

 

其实输出的内容是编码后的Html

 

image

 

之前我们解决这个问题是将文本转换成为IHtmlString:

 

 

 

 

   1: @{   

    2:     var html=new HtmlString("<p>text</p>");  

    3: }  

    4: @{  

    5:      var html=MvcHtmlString.Create("<p>text</p>"); 

    6: }

 

通过这两种方法之一就可以直接输出HTML代码了,在ASP.NET MVC 3 RC2 中呢,添加了一个HtmlHelper方法Raw,可以直接输出未编码的Html:

 

 

   1: @{

    2:     var html="<p>text</p>";

    3: }

    4: @Html.Raw(html)