场景1(工作)--这是我创建的POC。我有一个脚本管理器,一个html文本框,一个ASP.NET按钮,一个具有异步触发器集的updatepanel,用于上述按钮的Click。对于我有的html文本框,onkeyup='__doPostBack('<%=ASPBUTTON.ClientID%>','')。IT工作,点击按钮的单击事件,并异步更新updatepanel。
场景2(不起作用)与实际代码库的唯一区别是,我有一个JQUERY日期选择器,它正在使用onchange事件而不是html文本框的onchange。此外,在这里,我的页面使用母版页。现在,我的问题是,当触发时,请求会转到服务器端,但是按钮单击事件不会被触发。
更多的细节,我想要更新更新的日期选择器的选择自动。因此,这个按钮实际上是通过css隐藏的(显示:none)。
按钮id - btnDateRangeCallback
数据选择器文本框(非ASP控件)- dateRange
onChange: function() {__doPostBack('<%=btnDateRangeCallback.ClientID%>', $('#dateRange').val());}请记住,我说过它在我简单的POC的情况下工作,而在我的实际代码库中,我正在使用一个要继承的主页,所以所有这些控件都放在一个内容占位符中。此外,回发正在发生,如果我中断了_EVENTTARGET和_EVENTARGUMENT的Page_Load,就可以看到正确的发送。
请帮帮忙。
更简单地说,在回发后,当我中断了ctl00%24ContentPlaceHolder1%24SMgr1=ctl00%24ContentPlaceHolder1%24SMgr1%7cctl00_ContentPlaceHolder1_btnDateRangeCallback &__EVENTTARGET=ctl00_ContentPlaceHolder1_btnDateRangeCallback时,我看到Request.Form内容为:Request.Form&_EVENTARGUMENT=5%2f3%2F 2011+-+6%2f2%2F 2011 &_VIEWSTATE=%2fwEPDwULLTE3NDY5NDIwMDRkZIuTqMNNsFHlRYhjpKaUCaCXj42h &_EVENTVALIDATION=%2fwEWAgLBx52kBALP6Ln6DdkkwE%2frVIKQzKE1L0k4QhIc768w &_ASYNCPOST=true&
为什么不点击事件为btnDateRangeCallback击球?
发布于 2011-06-02 12:17:40
使用UniqueID:__doPostBack('<%=btnDateRangeCallback.UniqueID %>', ...
发布于 2019-12-25 11:56:44
将代码更改为:
setTimeout(function () { __doPostBack('btnSave', '') }, 500);使用"btnSave Id“。它将在所有浏览器中工作。
发布于 2011-06-02 11:14:43
为什么不按一下按钮呢?
onchange="$('#<%= ASPBUTTON.ClientID %>').click()"(理想情况下,也不要使用内联事件处理程序.)
如果这对您没有好处,您可以使用__EVENTTARGET和__EVENTARGUMENT来解决这个问题(有关指南,请参阅这篇文章 )。
https://stackoverflow.com/questions/6213580
复制相似问题