如何使用像asp这样的Razor:Literal?

时间:2011-04-04 08:34:32

标签: tags razor

我有一个简单的模型:

public class MyModel
{
     public string Text{get;set;}
}

我有一个View,它呈现MyModel的Text属性:

<p>@Model.Text</p>

如何从文本中像标签一样呈现html标签?例如,我有文字“<b>Text</b>”。我希望在标签p中获得粗体文本作为结果:

文字

但Razor按原样呈现文字:

<b>Text</b>

1 个答案:

答案 0 :(得分:21)

我认为您需要使用它:

<p>@Html.Raw(Model.Text)</p>

您可以在Phil Haack的博客上找到更多信息here

anurse在评论中指出,您可以将视图模型类型的Text成员的类型设置为IHtmlString,只需使用@Model.Text即可输出它。 ASP.NET MVC非常聪明,可以意识到输出不应该被转义。