jquery - __dopostback 未按预期工作

标签 jquery asp.net visual-studio updatepanel

场景 1(可行) 这是我创建的 POC。 我有一个脚本管理器、一个 html 文本框、一个 ASP.NET 按钮、一个为上述按钮的 Click 事件设置了异步触发器的 updatepanel。对于 html 文本框,我有 onkeyup='__doPostBack('<%=ASPBUTTON.ClientID%>','') 。并且它可以工作,按钮的 Click 事件被击中,并且 updatepanel 被异步更新。

场景 2(不起作用) 与我的实际代码库的唯一区别是我有一个 JQUERY FILAMENTGROUP datetimepicker,其 onchange 事件正在使用,而不是 html 文本框的 onchange。此外,这里我的页面使用母版页。现在,我的问题是,当 datetimepicker 的 onchange 事件触发时,请求会转到服务器端,但 BUTTON 单击事件不会被触发。

更多细节, 我想在选择日期时间选择器时自动更新更新面板。因此,该按钮实际上会通过 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 &_事件参数=5%2f3%2f2011+-+6%2f2%2f2011 &_VIEWSTATE=%2fwEPDwULLTE3NDY5NDIwMDRkZIuTqMNNsFHlRYhjpKaUCaCXj42h &_事件验证=%2fwEWAgLBx52kBALP6Ln6DdkkwE%2frVIKQzKE1L0k4QhIc768w &_ASYNCPOST=true&

为什么 btnDateRangeCallback 的 Click 事件没有命中???

最佳答案

改用UniqueID:__doPostBack('<%=btnDateRangeCallback.UniqueID %>', ...

关于jquery - __dopostback 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6213580/

相关文章:

javascript - 发送 jqueryAjax 请求时出现错误

jquery - Bootstrap : sticky footer or affix?

javascript - 在 ASP.net 中从服务器端调用带有参数的客户端 JavaScript

html - Bootstrap Multiple Item Carousel 和 normal Carousel in a single page asp.net

visual-studio - nuget 找不到资源 'productupdate/productupdatebar.xaml'

jquery - 如何将回调传递给 jQuery .click()?我需要回调吗?

jquery - 如何使用jquery连续改变div的背景图像?

C# 此时无法启动异步操作。

visual-studio-2010 - Visual Studio - 根据打开文件类型的窗口布局

visual-studio-2010 - Visual Studio 中行号旁边的这些图标是什么?