2017-05-30 90 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>