文本保存在DB中作为html代码而不是渲染文本

时间:2017-08-16 22:30:18

标签: html asp.net gridview

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

  

Té st with sü mbols

这将是Gridview行显示时保存的内容:

  

Téstwithsümbols

这必须是因为我的测试证明了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();
}

1 个答案:

答案 0 :(得分:0)

string Name = HttpUtility.HtmlDecode(row.Cells[0].Text);

强制将渲染文本正确保存到字符串Name,从而强制保存到数据库。

此解决方案已由@ user685590发布为评论,后来作为过度审核的一部分被删除(对于那些轻微的批评感到抱歉)