2017-08-19 28 views
0

我正在使用ASP.NET MVC 5應用程序並使用tinymce編輯器將HTML格式的數據(對於某些字段)存儲到SQL Server 2014數據庫。ASP.NET MVC 5 - 如何在使用foreach循環返回到頁面時正確呈現存儲的HTML?

數據正在使用foreach循環返回到頁面,但標記/標記不是呈現爲HTML,而是以文本形式顯示在頁面中。

CODE EX:

@foreach (var item in Model) { 
    <div>@Html.DisplayFor(modelItem => item.Category)</div> 
    <div>@Html.DisplayFor(modelItem => item.Name)</div> 
    <div>@Html.DisplayFor(modelItem => item.Description)</div> 
} 

如何獲得存儲HTML正確呈現在返回頁面?

+1

使用'@ Html.Raw()'如果你的價值觀包含HTML標籤 –

+0

檢查這個https://stackoverflow.com/a/7777718/6448640 –

+0

當我替換HTML的Html.Display。原始我得到以下錯誤:無法將lambda表達式轉換爲鍵入'string',因爲它不是委託類型 – jason

回答

0

使用@Html.Raw()

Cannot convert lambda expression to type 'string' because it is not a delegate type

這個錯誤可以通過使用Raw(@item.Category)來避免。嘗試:

@foreach (var item in Model) {  
    <div>@Html.Raw(@item.Category)</div> 
    <div>@Html.Raw(@item.Name)</div> 
    <div>@Html.Raw(@item.Description)</div> 
} 
+0

謹慎的一句話。 'Html.Raw()'引入了跨站點腳本的風險。您應該只將它用於受信任的數據。 –

0
@foreach (var item in Model) {  
    <div>@Html.Raw(item.Category)</div> 
    <div>@Html.Raw(item.Name)</div> 
    <div>@Html.Raw(item.Description)</div> 
} 

你需要使用Html.Raw作爲這個呈現html內容到頁面中。

相關問題