Beginrequest и endrequest не запускаются при добавлении postbacktrigger в updatepanel
У меня есть две кнопки asp в одной панели обновления; для одной из них я использую
<asp:PostBackTrigger ControlID="btnVerify" />для другого я не существую. Но для обоих должен быть запущен индикатор выполнения; чтобы запустить этот индикатор выполнения, я использую запрос begin и end в блоке скрипта, как показано ниже:
<script language="javascript" type="text/javascript"> Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(InitializeRequest); Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequest); function InitializeRequest(sender, args) { // alert("Start"); var mdlPopUp = $find('<%= mdlPopup.ClientID %>'); mdlPopUp.show(); } function EndRequest(sender, args) { // alert("End"); var mdlPopUp = $find('<%= mdlPopup.ClientID %>'); mdlPopUp.hide(); } </script>
mdlPopup - это индикатор выполнения.
Ниже приведена моя панель обновления:
<asp:UpdatePanel ID="UPAll" runat="server"> <ContentTemplate> <asp:LinkButton ID="lnkBtn" runat="server"> <asp:Image ID="Image2" runat="server" ImageUrl="~/images/BAL/go.gif" /> </asp:LinkButton> <asp:ImageButton ID="btnVerify" TabIndex="14" runat="server" ImageUrl="~/Images/Misc/verify.gif"> </asp:ImageButton> </ContentTemplate> <Triggers> <asp:PostBackTrigger ControlID="btnVerify" /> </Triggers> </asp:UpdatePanel>
Теперь проблема в том, что всякий раз, когда я нажимаю на btnVerify индикатор выполнения не отображается; НО если я продолжу lnkBtn индикатор выполнения изображенный Я знаю, что проблема связана с postbackTrigger (я удалил его из триггеров, и индикатор выполнения отображался как исключенный, но тогда btnVerify не будет работать правильно). Итак, как я могу решить эту проблему и отобразить индикатор выполнения при нажатии на обе кнопки?
Обновление: Обратите внимание, что я нажимаю на btnVerify: InitializeRequest и EndRequest не срабатывают (start и end не предупреждаются; test init предупреждается)
Что я уже пробовал:
Я сделал несколько поисков и обнаружил, что должен добавить это в javascript:
Sys.Application.add_init(appl_init); function appl_init() { // alert("test init"); Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(InitializeRequest); Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequest); }
Но, к сожалению, это мне не помогло, индикатор выполнения не срабатывает, когда я нажимаю на btnVerify.