2015-01-08 109 views
0

目前我忙於一個學校項目。我正在優化我的常見問題解答,並且我想在我的答案中解析TEXT列中的HTML。讓我更好地解釋它。ASP.Net SQL文本解析HTML

我有我的數據庫模型,它是這樣的:

public class FAQModel 
{ 
    public int Id { get; set; } 
    [Required] 
    public string Question { get; set; } 
    [Required] 
    public string Answer { get; set; } 
} 

在我看來:

<div><p>@item.Answer</p></div> 

但現在的HTML(這是我的回答列)會像文本,因此它不會被解析。像這樣是我的結果:

Ga naar <a href="../EmailSub/">deze pagina</a> 

但我希望它是一個鏈接,我可以點擊。有什麼辦法可以做到這一點?

回答

1

使用Html.Raw方法將轉換存儲在數據庫中的DOM元素結構的字符串:

@ Html.Raw(item.Answer)

+0

謝謝,成功了! –

1

我認爲你可以使用Html.Raw得到你的目標。更換

<div><p>@item.Answer</p></div> 

<div><p>@Html.Raw(item.Answer)</p></div> 
2

不知道問題是什麼,但如果你在回答欄HTML串在你的數據庫,如: 「嘎NAAR < A HREF =」 ../EmailSub/「>德澤pagina </A >」

那麼你應該使用:

<div><p>@Html.Raw(item.Answer)</p></div> 

但是,如果數據庫中的答案字段由管理員填充,而不是用戶填寫,我只推薦使用這種方法,因爲這是一個潛在的漏洞,稱爲跨站點腳本(XSS)!