我是C#的新手,正在尝试使用ASP.Net GridView(框架3.5),当gridView文本包含以下内容时,我发现了一个大问题:
ñ/Ñ/á/Á/é/É/í/Í/ó/Ó/ú/Ú或者â,ê,î,ô,û,ë,ï,ü甚至是ç
结果最终会显示如下内容:&+#+237
我通过做一个表,数据集等来制造一种痛苦的混合物......以便将数据库中的数据清理为字母本身。我也试过制作一个清理变量的方法,但这是一个糟糕的IF。
我想知道是否有办法让字母显示为自己(ñ为ñ而不是& +#+ 237)从gridview中提取数据而不直接从数据库获取数据并且没有做很多事情代码如果没有,是否有办法有效地清理它们?
答案 0 :(得分:5)
您的角色正在进行HTML编码,无论是在数据访问层中的某个位置,还是在gridview控件中。尝试在绑定网格之前通过HttpUtility.HtmlDecode()
运行文本。
如果这不起作用,那么它可能在控制级别进行编码。我看到你用“textbox”标记了这个问题。标准的ASP.NET TextBox控件将自动编码分配给其Text属性的任何内容。相反,您可以使用通用System.Web.UI.HtmlControls.HtmlTextArea
控件或new HtmlGenericControl("input")
。