2017-05-30 58 views
1

我正在创建一个asp.net MVC应用程序,并且我正在使用丰富文本来存储我的数据库中的丰富文本。在MVC视图中呈现富文本?

从数据库中获取丰富文本并在“详细信息”页面上显示该文本时,我不再看到格式化数据。相反,我看到了纯文本html (例如< p> < b> < strong>富文本样本</strong> </b> </p>)
如何使用Html文本帮助程序(如Html.TextArea)来显示富文本格式,而不是使用纯HTML格式?

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

我已经尝试设置这样的而不是DisplayFor的描述我认为,但它仍然不能正常工作:

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

回答

3

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

1

虽然可以使用

@Html.Raw(Model.Description) 

我个人没有喜欢它,因为在显示/编辑器模板方面你无法做任何事情。如果你打算使用任何模板,然后我会强烈建议使用MvcHtmlString作为模型类型:

public MvcHtmlString Description { get; set; } 

现在,您可以:

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

,如果需要覆盖模板:

[MvcHtmlString.cshtml]

<dd> 
    @model 
</dd> 
相关问题