【问题标题】:ASP.Net SQL Text parse HTMLASP.Net SQL 文本解析 HTML
【发布时间】:2015-03-06 08:50:07
【问题描述】:

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

但我希望它是一个可以点击的链接。有什么办法可以做到吗?

【问题讨论】:

    标签: c# html sql asp.net


    【解决方案1】:

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

    @Html.Raw(item.Answer)

    【讨论】:

      【解决方案2】:

      不确定问题是什么,但如果您在数据库的“答案”列中有 HTML 字符串,例如: "Ga naar deze 页面"

      那么你应该使用:

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

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-08-15
          • 2016-05-28
          • 2015-07-15
          • 2020-06-07
          • 2023-03-04
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多