4

我是 C# 新手,正在试验 ASP.Net GridView(框架 3.5),当 gridView 文本包含以下内容时,我发现了一个大问题:

ñ/Ñ/á/Á/é/É/í/Í/ó/Ó/ú/Ú 或 â, ê, î, ô, û, ë, ï, ü 甚至 ç

结果最终显示如下:&+#+237

我做了一个表,数据集等,让数据库中的数据像字母本身一样干净,这让我感到很痛苦。我还尝试制作一种清理变量的方法,但这是一个糟糕的 IF。

我想知道在从gridview 提取数据而不直接从数据库中获取数据并且不做大量代码的情况下,是否有一种方法可以使字母显示为它们本身(ñ as ñ 不是&+#+237)。如果没有,有没有办法有效地清理它们?

4

1 回答 1

5

您的字符正在被 HTML 编码,无论是在您的数据访问层中的某处,还是在 gridview 控件中。HttpUtility.HtmlDecode()在绑定网格之前尝试运行文本。

如果这不起作用,那么它可能是在控制级别进行编码的。我看到你用“文本框”标记了这个问题。标准 ASP.NET TextBox 控件将自动对分配给其 Text 属性的任何内容进行编码。相反,您可以使用通用System.Web.UI.HtmlControls.HtmlTextArea控件或new HtmlGenericControl("input").

于 2012-07-25T15:51:52.817 回答