像许多其他人一样,我正在尝试从 JavaScript 调用 .NET 控件的服务器端事件。
具体来说,我想TextChanged
在名为txtSearch
. 因此,我希望从客户端到达以下事件:
protected void txtSearch_TextChanged(object sender, EventArgs e)
在阅读了很多关于 SO 的答案(例如这里和这里)后,我有以下 JavaScript:
__doPostBack('ctl00$ctl00$Container$Main$txtSearch', 'TextChanged');
但是服务器端事件永远不会触发。
我尝试了许多排列:使用 AutoPostBack 真假,使用和不使用 ASPX 上的服务器端指令中声明的事件(即OnTextChanged=""),使用 ClientID 在页面声明中关闭 EventValidation而不是 EVENTTARGET 参数中的 UniqueID ......但该事件仍然从未被触发。
其他几点
txtSearch
按钮控件也是 UpdatePanel 的触发器,以防万一。- 我正在转换现有的代码,其中有很多,并且正在寻找可以放到每个页面上的东西,而不是将代码隐藏事件转换为 PageMethods。
谁能告诉我我还需要做什么?