ASP.Net,控制ddl OnClientSelectedIndexChanged目标中的客户端ID
ASP.Net, control clientID in ddl OnClientSelectedIndexChanged target?
我在ascx控件中有一个runat='server'
下拉列表。
我想启动一个用控件ID命名的javascript函数。
function ToggleClasses_<%= Me.ID %>(){...
我这样做是因为它解决了很多问题,并大大减少了需要维护的代码量,因为这个控件在页面上出现了好几次。我不喜欢它,但它似乎是对我正在做的事情最简单、最直接的回答。
我在ddl代码中有以下内容:
...OnClientSelectedIndexChanged="ToggleClasses_<%= Me.ID %>();"...
在javascript块中,函数的名称与您期望的一样正确。
然而,在ddl事件代码中,它被呈现为HTML,如下所示:
onChange="ToggleClasses_<%= Me.ID %>();"
我在SO上尝试了一些方法,但这些都是关于将客户端id放在参数列表中,而不是函数名/调用中,所以对我没有帮助(它们无论如何都不适用于我正在做的事情)。
我该怎么做?
正确的答案是在服务器端代码中添加事件,而不是在ASPX文件中。
例如(在VB中):
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
ddl.OnClientSelectedIndexChanged = "ToggleClasses_" + Me.ID + "();"
...
您不应该使用'<'在客户端事件中,如OnClientSelectedIndexChanged。这将在呈现到浏览器之前对HTML进行编码。
请使用以下代码使其工作;
OnClientSelectedIndexChanged = "ToggleClasses_" + Me.ClientID + "();";
ClientID将生成渲染的ID。
相关文章:
- Instagram客户端ID是否特定于每个使用它的人
- 在代码隐藏 (asp.net VB) 中返回“完整”客户端 ID
- 将客户端 ID 从 GridView 中传递给 JavaScript 函数
- 如何访问相关的客户端ID
- 无法访问字段'通过aspx页面上的javascript函数传递来自代码隐藏中函数调用的客户端id的s值(页面加载
- 正在获取Gridview中文本框的客户端ID
- 正在获取javascript中的客户端ID
- 如何获取谷歌分析客户端ID
- 如何通过 JavaScript 发送 asp.net 控件的客户端 ID
- 通过锚标记将另一个控件的客户端 ID 发送到 JavaScript
- 通过客户端 ID 命名 JS 函数
- 如何检索谷歌地图客户端ID
- 了解 $asp.net 和 _(下划线)差异的客户端 ID 生成
- asp.net多用户控制客户端id问题
- Chrome应用程序-标识API-错误的客户端ID NON_NAME
- 我可以将socket.io客户端id转换为稍短的id而不会遇到碰撞风险吗
- 如何在javascript中获取gridview中dropdownlist的客户端ID
- 在asp.net 3.5中为动态生成的文本框设置客户端id static
- 如何将OAuth2客户端id与chrome扩展文件一起分发
- Google API客户端ID不是't授权