注意:这很可能是一个双重问题,但由于我还没有找到明确的答案,所以我还是要问。
在 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('test');" /><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/