__ dopostback无法正常工作

问题描述 投票:5回答:3

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

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

更多细节,我想在选择datetimepicker时自动更新updatepanel。因此,该按钮实际上将通过CSS隐藏(显示:无)。

按钮ID-btnDateRangeCallback

Datetimepicker文本框(非ASP控件)-dateRange

        onChange: function() {__doPostBack('<%=btnDateRangeCallback.ClientID%>',   $('#dateRange').val());}

请帮助。

简单地说,回发后,当我在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
3个回答
5
投票

1
投票
setTimeout(function () { __doPostBack('btnSave', '') }, 500);

使用“ btnSave ID”。它将在所有浏览器中运行。


0
投票
onchange="$('#<%= ASPBUTTON.ClientID %>').click()"

(理想情况下,也不要使用内联事件处理程序...]

如果这对您不利,则可以使用__EVENTTARGET__EVENTARGUMENT进行解决(有关指南,请参阅this article
© www.soinside.com 2019 - 2024. All rights reserved.