在ViewModel中是否有与@Html.Raw(Model.Property)
等效的注释?
我尝试使用[DisplayFormat(HtmlEncode=false)]
但没有成功创建HTML标记(<b>
,<span>
),而是将其显示为文本。
答案 0 :(得分:3)
你可以使用UIHint
来创建一个模板Views\Shared\DisplayTemplates\Html.cshtml
来实现这一点:
@model string
@Html.Raw(Model)
然后在你的模特上:
[UIHint("Html")]
public string MyHtml {get; set;}
然后可以在所有其他视图中输出:
@Html.DisplayFor(m => m.MyHtml)
答案 1 :(得分:2)
将属性设为IHtmlString
(您可以使用MvcHtmlString实施)而不是string
。
public class MyModel
{
public IHtmlString Property { get; private set; }
public MyModel(string property)
{
Property = new MvcHtmlString(property);
}
}