ASP.Net SQL 文本解析 HTML

ASP.Net SQL Text parse HTML

目前我正在忙于学校的一个项目。我正在优化我的常见问题解答,我想在我的 TEXT 列中解析 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>

但我希望它成为我可以点击的 link。有什么办法可以做到这一点吗?

我认为您可以使用 Html.Raw 实现您的目标。替换

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

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

不确定问题是什么,但是如果您在数据库的“答案”列中有 HTML 字符串,例如: "Ga naar <a href="../EmailSub/">deze pagina"

那么你应该使用:

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

但我只建议在数据库中的答案字段由管理员而非用户填写时使用此方法,因为这是一个称为跨站点脚本 (XSS) 的潜在漏洞!

使用Html.Raw方法将数据库中存储的字符串转换为DOM元素结构:

@Html.Raw(item.Answer)