【发布时间】:2011-09-07 00:01:06
【问题描述】:
场景 1(可行)
这是我创建的 POC。
我有一个脚本管理器、一个 html 文本框、一个 ASP.NET 按钮、一个为上述按钮的 Click 事件设置了异步触发器的更新面板。对于我有的 html 文本框,onkeyup='__doPostBack('<%=ASPBUTTON.ClientID%>','')。它的工作原理,点击按钮的点击事件,更新面板异步更新。
场景 2(不起作用) 与我的实际代码库的唯一区别是我有一个 JQUERY FILAMENTGROUP datetimepicker,它的 onchange 事件被使用而不是 html 文本框的 onchange。此外,这里我的页面使用母版页。现在,我的问题是,当 datetimepicker 的 onchange 事件触发时,请求转到服务器端,但 BUTTON click 事件没有被触发。
更多细节, 我想在选择日期时间选择器时自动更新更新面板。因此,该按钮实际上将通过 css (display:none) 隐藏。
按钮 id - btnDateRangeCallback
Datetimepicker 文本框(非 ASP 控件)- dateRange
onChange: function() {__doPostBack('<%=btnDateRangeCallback.ClientID%>', $('#dateRange').val());}
[请记住,我说过它适用于我的简单 POC,而在我的实际代码库中,我使用母版页来继承,因此所有这些控件都放置在 contentplaceholder 中。此外,回发正在发生,如果我在 Page_Load 处中断,我可以看到 _EVENTTARGET 和 _EVENTARGUMENT 被正确发送]
请帮忙。
更简单地说, 回发后,当我在 Page_Load 中断时,我看到 Request.Form 内容为, ctl00%24ContentPlaceHolder1%24SMgr1=ctl00%24ContentPlaceHolder1%24SMgr1%7cctl00_ContentPlaceHolder1_btnDateRangeCallback &__EVENTTARGET=ctl00_ContentPlaceHolder1_btnDateRangeCallback &_EVENTARGUMENT=5%2f3%2f2011+-+6%2f2%2f2011 &_VIEWSTATE=%2fwEPDwULLTE3NDY5NDIwMDRkZIuTqMNNsFHlRYhjpKaUCaCXj42h &_EVENTVALIDATION=%2fwEWAgLBx52kBALP6Ln6DdkkwE%2frVIKQzKE1L0k4QhIc768w &_ASYNCPOST=true&
为什么btnDateRangeCallback的Click事件没有命中???
【问题讨论】:
标签: jquery asp.net visual-studio updatepanel