将字符串编码为Html Asp.Net MVC

时间:2012-07-13 13:45:16

标签: asp.net-mvc

  

可能重复:
  ASP.NET MVC Razor render without encoding

我的Product对象的一个​​原则是返回一个包含html的字符串。当我将模型设置为视图时,视图将其作为文本而不是html读取。如何让视图知道以html格式读取属性?

<td colspan="2">
 <div>
   <label >                             
       @Model.LongDescription  
   </label>                                 
 </div>
</td>

3 个答案:

答案 0 :(得分:8)

默认情况下,Razor对所有内容进行编码,您只需使用@Html.Raw查看此question,这与您遇到的问题几乎相同

<td colspan="2">
 <div>
   <label >                             
       Html.Raw(@Model.LongDescription)
   </label>                                 
 </div>
</td>

答案 1 :(得分:0)

使用Html.Raw辅助方法忽略编码

<label >                             
   @Html.Raw(Model.LongDescription)  
</label>  

答案 2 :(得分:0)

您需要使用HtmlString对象。我更喜欢在我的模型中通过向模型添加属性来处理它:

public HtmlString LongDescription
{
    get
    {
        return new HtmlString(LongDescription);
    }
}

对象HtmlString将保留html格式以供显示。