asp.net - 为什么 < 在运行时被转换为 <

标签 asp.net javascript

我正在尝试编写一个 aspx 页面,我将一些服务器端值传递给 Javascript。服务器端标记正在从 <% 更改至 &lt;%

<asp:TextBox
    ID="txtOriginalNo"
    runat="server"
    onkeyup="javascript:EnterKeyPress(<%=ibtnSubmit.ClientID%>,event);"
    TabIndex="1"
    MaxLength="13"
></asp:TextBox> 

这在运行时被转换为:

<input
    name="txtOriginalNo"
    type="text"
    maxlength="13"
    id="txtOriginalNo"
    tabindex="1"
    onkeyup="javascript:EnterKeyPress(&lt;%=ibtnSubmit.ClientID%>,event);"
/> 

谁能告诉我这是为什么?

最佳答案

您不能在服务器控件内使用服务器标记。从后面的代码设置属性:

txtOriginalNo.Attributes["onkeyup"] = "EnterKeyPress(" + ibtnSubmit.ClientID + ",event);"

注意:不要在事件属性中使用 javascript: 协议(protocol)。当您将 Javascript 代码放入 URL 时使用它,如果您在事件属性中使用它,它就会变成标签。

关于asp.net - 为什么 < 在运行时被转换为 <,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1232665/

相关文章:

jquery event.target 属性在 asp.net 中不起作用

javascript - 使用 meteor 方法但仍然出现错误

php - 每次删除 div 时调用 PHP 函数

asp.net - 为什么在ASP.NET中刷新页面时会执行按钮单击事件?

javascript - map 中的默认键是什么意思?

javascript - JQuery 为函数 'find' : 奇怪地工作

javascript - 在jquery中结合toggle和fadeTo

asp.net - IIS 上的 Server.MapPath() 路径错误

c# - 这段代码应该是基类而不是接口(interface)吗?

c# - 为什么打开 .xls 文件时显示错误消息