我有一个简单的模型:
public class MyModel
{
public string Text{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我有一个View,它呈现MyModel的Text属性:
<p>@Model.Text</p>
Run Code Online (Sandbox Code Playgroud)
如何从Text中标记html标签?例如,我有文字" <b>Text</b>".我希望在标记p中获得粗体文本作为结果:
文本
但Razor按原样呈现文本:
<b>Text</b>
Run Code Online (Sandbox Code Playgroud)
par*_*cle 21
我想你需要像以下一样使用它:
<p>@Html.Raw(Model.Text)</p>
Run Code Online (Sandbox Code Playgroud)
你可以找到更多的信息在这里上菲尔哈克的博客.
anurse在评论中指出,您可以选择Text将View Model类型的成员类型设置为IHtmlString仅用于@Model.Text输出它.ASP.NET MVC非常聪明,可以意识到输出不应该被转义.