c# - ASP.NET 单引号转换为 '

标签 c# asp.net quotes

注意:这很可能是一个双重问题,但由于我还没有找到明确的答案,所以我还是要问。

在 ASP.NET 中,我想将一些 JavaScript 添加到 CheckBox 的 onclick 事件中。我已将案例简化为:

<asp:CheckBox ID="TestCheckBox" runat="server" onclick="alert('test');" Text="Test" />

生成的 HTML 如下:

<input id="MainContainer_TestCheckBox" type="checkbox" name="ctl00$MainContainer$TestCheckBox" onclick="alert(&#39;test&#39;);" /><label for="MainContainer_TestCheckBox">Test</label> 

特别困扰我的是单引号“自动”被转换为“'”。如果我在标记中省略 onclick 并将其分配给 Page_Load,则 HTML 中会显示完全相同的结果。

protected void Page_Load(object sender, EventArgs e)
{
    this.TestCheckBox.Attributes["onclick"] = "alert('test');";
}

有人知道发生了什么事吗?或者如何修复/避免它?

最佳答案

当我们将项目从 .NET 3.5 迁移到 .NET 4.0 时,属性值中的单引号也遇到了同样的问题。它将属性值中的所有单引号转换为 &39;。所以我们回到了 .NET 3.5。

这是 .NET 4.0 的东西。您可以阅读有关此问题的更多信息 here .

关于c# - ASP.NET 单引号转换为 ',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3013912/

相关文章:

html - Node js NPM Cheerio 将“变成”

javascript - JavaScript 中的转义引号

c# - 在 C# 中随机化数学符号

c# - VS调试问题,谁能帮我解释一下?

C# Base64 字符串转 JPEG 图片

javascript - C# 查找并按下 JS 创建的按钮

ASP.NET 核心 : How to login with “UserName” instead of “Email” ?

linux - 什么时候用引号括起 shell 变量?

c# - Unity3d。为重复的游戏对象获取相同的组件

asp.net - 如何在服务器上安装 ASP.NET MVC 5?