Asp.net 如何阻止gridview列自动编码html实体

Asp.net 如何阻止gridview列自动编码html实体,asp.net,html-encode,Asp.net,Html Encode,我是asp.net的新手,在使用gridview时遇到了一个问题 我添加了一些包含“&”符号的条目,例如“PR Murphy&Associates”。 在将数据插入数据库之前,我没有对数据进行任何编码 当gridview更改为编辑模式时,我的文本如下所示:“PR Murphy&Associates” 我有没有办法阻止它对信息进行编码,我的意思是插入时,然后在编辑后/编辑期间,将文本保留为“PR Murphy&Associates” 感谢您在GridView的菜单中,您可以选择列,在该列的属性下,

我是asp.net的新手,在使用gridview时遇到了一个问题

我添加了一些包含“&”符号的条目,例如“PR Murphy&Associates”。 在将数据插入数据库之前,我没有对数据进行任何编码

当gridview更改为编辑模式时,我的文本如下所示:“PR Murphy&Associates”

我有没有办法阻止它对信息进行编码,我的意思是插入时,然后在编辑后/编辑期间,将文本保留为“PR Murphy&Associates”


感谢您

在GridView的菜单中,您可以选择列,在该列的属性下,您可以将HTMLEncode设置为False(或True,具体取决于您的需要)。

我使用
GridView1\u RowDataBound
事件解决了这个问题

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
           for (int i = 0; i < e.Row.Cells.Count; i++) 
           {
               string encoded = e.Row.Cells[i].Text;
               e.Row.Cells[i].Text = Context.Server.HtmlDecode(encoded);
           }
    }
}
受保护的无效GridView1\u行数据绑定(对象发送方,GridViewRowEventArgs e)
{
如果(e.Row.RowType==DataControlRowType.DataRow)
{
for(int i=0;i
但该字段不是绑定字段。它是模板字段中的一个字段,我确信GridView控件做的事情是正确的。也许你的期望是错误的?在什么情况下编码HTML实体是不受欢迎的?@Tomalak:我倾向于同意你的看法。我唯一一次必须关闭HTMLEncoding是在尝试对包含货币等信息的列进行字符串格式化时。