H.AL Ответов: 0

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.

0 Ответов