【问题标题】:Text saved in DB as html code instead of the rendered text保存在 DB 中的文本作为 html 代码而不是呈现的文本
【发布时间】:2017-08-16 22:30:18
【问题描述】:

我正在从 Gridview 读取数据并将结果写入转发器,其中数据通过 LinkBut​​ton 的单击事件进行处理,最后写入 SQL 表。由于某种原因,文本被保存为 HTML 代码,而不是呈现的文本。

Tést with sümbols

如果显示 Gridview 行,这将是保存的内容:

用小号测试

这一定是由于从 Gridview 读取的结果,正如我的测试所证明的那样,我在其中手动添加了一行 (NameX),然后显示在中继器中。如果我单击该条目,写入 SQL 表的数据就是呈现的文本。

protected void FillRepeater()
{
    DataTable dt = new DataTable();
    dt.Columns.Add("Name", typeof(string));
    foreach (GridViewRow row in GridView4_Users.Rows)
    {
        if(row.Cells[3].Text != "0")
        {
            string Name = row.Cells[0].Text;
            dt.Rows.Add(Name);
        }
    }
    string NameX = "Tést with sümbols";
    dt.Rows.Add(NameX);
    RepeaterUsers.DataSource = dt;
    RepeaterUsers.DataBind();
}

【问题讨论】:

  • @user685590 请发表您的有用评论作为答案:)

标签: html asp.net gridview


【解决方案1】:
string Name = HttpUtility.HtmlDecode(row.Cells[0].Text);

强制将呈现的文本正确保存到字符串 Name 中,从而保存到数据库中。

此解决方案已由 @user685590 作为评论发布,后来作为过度审核的一部分被删除(对不起,轻微的批评)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 2011-07-15
    • 2017-07-22
    • 1970-01-01
    相关资源
    最近更新 更多