在MVC View中渲染富文本?

时间:2017-05-30 18:31:12

标签: html asp.net-mvc

我正在创建一个asp.net MVC应用程序,我正在使用富文本来在我的数据库中存储富文本。

从数据库中获取富文本并在“详细信息”页面上显示它时,我不再看到格式化数据。相反,我看到了简单的html (例如< p>< b>< strong>富文本示例< / strong>< / b>< /p>).
如何使用Html.TextArea之类的Html文本助手来显示格式化的富文本而不是普通的html?

[AllowHtml]
public string Description { get; set; }

我已经尝试像我这样设置我的视图而不是DisplayFor,但它仍然不起作用:

<dd>
    @Model.Description
    @*@Html.DisplayFor(model => model.Description)*@
</dd>

2 个答案:

答案 0 :(得分:3)

尝试使用@Html.Raw(Model.Description)代替@Model.Description

答案 1 :(得分:1)

虽然你可以使用

@Html.Raw(Model.Description)

我个人不喜欢它,因为你无法在显示/编辑模板方面做任何事情。如果您打算使用任何模板,那么我强烈建议您使用MvcHtmlString作为模型的类型:

public MvcHtmlString Description { get; set; }

现在你可以:

<dd>
   @Html.DisplayFor(model => model.Description)
</dd>

如果需要覆盖模板:

[MvcHtmlString.cshtml]

<dd>
   @model
</dd>