2011-01-24 4 views
0

Я пытаюсь добавить анимацию JQuery до и после каждого запроса обратной передачи, сделанного внутри моей UpdatePanel. То, что я до сих пор что-то вроде этого:UpdatePanel PageRequestManager. Delay postback

<script type="text/javascript"> 
    $(document).ready(function() { 
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
     Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler); 

     function EndRequestHandler(sender, args) { 
      if (args.get_error() == undefined) { 
       // End Request (1) 
      } 
     } 

     function BeginRequestHandler(sender, args) { 
      // Start Request (2) 
     } 

     $('.MyButtons').live('click', function() { 
      // Before request (3) 
     }); 
    }); 
</script> 

<asp:UpdatePanel runat="server"> 
    <ContentTemplate> 
     <asp:Button runat="server" CssClass="MyButtons"/> 
    </ContentTemplate> 
</asp:UpdatePanel> 

Пусть говорят, что я хочу поставить некоторые анимации код в (3), который будет выполняться, а затем продолжить BeginRequestHandler функции. Как мне это сделать? Потому что сейчас весь процесс выполняет 3,2,1, и я не знаю, как добавить эту задержку между шагами 3 и 2. Другими словами, я хочу выполнить шаг 2 вручную на шаге 3. Не очень хочется использовать скрытые кнопки для этого.

ответ

0

Хорошо, я закончил с использованием следующего:

$('.MyButtons').live('click', function() { 
    var element = this; 
    $('#hideMe').hide('slow', function() { 
     __doPostBack(element.id.replace(/_/g, '$'), ''); // This will trigger a postback on a clicked server control 
    }); 
    return false; // This will prevent asp.net click event on the server control 
} 
Смежные вопросы