ASP.NET 4.0 DropDownList 在文本中带有单引号

标签 asp.net encoding drop-down-menu asp.net-4.0

我们有一个 asp:DropDownList,我们用它填充服务器端

ddlBranch.Items.Add(new ListItem("TEST","This is a's test"));

当它在 .NET 3.5 下编译并运行时,我们会看到文本“This is a's test”

但是,当它在 .NET 4.0 下编译并运行时,我们会看到文本“This is a ' s test”

我们已将以下内容添加到我们的 web.config 中,并且没有任何更改。
<pages controlRenderingCompatibilityVersion="3.5" />

目前我们已经回退到 .NET 3.5,但是我们想知道是否有办法解决这个问题,或者这是一个已知的渲染问题还是设计使然。

TIA

AJ

最佳答案

大家好
感谢您的回复,他们让我更深入地研究代码,寻找某处的编码。原来那是一个:

Server.HtmlEncode(input)

对基页类中的所有控件执行。

现在我认为是一个问题,结果证明是我的 RTFM 案例

From http://www.asp.net/learn/whitepapers/aspnet4/breaking-changes
HtmlEncode and UrlEncode Now Encode Single Quotation Marks

In ASP.NET 4, the HtmlEncode and UrlEncode methods of the HttpUtility and >HttpServerUtility classes have been updated to encode the single quotation mark character >(') as follows:

The HtmlEncode method encodes instances of the single quotation mark as ' . The UrlEncode method encodes instances of the single quotation mark as %27.



因此,当我使用 .NET3.5 时,我的单引号 ( ' ) 被 HtmlEncode 忽略,但是当切换到 .NET 4.0 时,HtmlEncode 并没有忽略它。

再次感谢人们对这个问题所做的所有回应和工作。

问候

AJ

关于ASP.NET 4.0 DropDownList 在文本中带有单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5931605/

相关文章:

ruby-on-rails - 下拉菜单中包含其他模型的值

javascript - 点击后使下拉菜单停留

c# - 内存快照触发dotMemory中的Garbage collection

python csv : UnicodeDecodeError

asp.net - 如何将我的 dll 组织到 ASP.NET 中 bin 目录下的多个文件夹中?

c# - 通过网络将 C# SecureString 发送到字节 - 我应该担心编码吗?

linux - 如何检查区域设置是否为 UTF-8?

javascript - 使用 JavaScript 在下拉列表中保留选定的值

c# - 带有 16 位 Guid 的路由看起来很疯狂?

asp.net - 在 App_Start 中编辑 MiniProfiler.cs 后更新 MiniProfiler.MVC3 NuGet 包