2011-07-17 6 views
0

나는 ASP.NET 2.0 페이지에서 다음을 가지고있다.Request_Begin never called

<script type="text/javascript"> 
function pageLoad() 
{ 
    var manager = Sys.WebForms.PageRequestManager.getInstance(); 
    if (manager !=null) 
    { 
     debugger; 
     manager.add_beginRequest(Request_Begin); 
     manager.add_endRequest(Request_End); 
    } 
} 

function Request_Begin(sender, args) 
{ 
    debugger; 
    .... 
} 


function Request_End(sender, args) 
{ 
    .... 
} 
</script> 

pageLoad가 호출되었지만 Request_Begin 내부의 코드는 결코 적중되지 않습니다.  이유에 대한 단서가 있습니까?

+0

UpdatePanel을 사용합니까? – SLaks

+0

duh,이게 뭔지 완전히 오해 한 것 같습니다. –

답변

1

당신이 (예에 대한 UpdatePanel에서)은 Microsoft 스크립트를 사용하여 AJAX 요청을 트리거 할 때 콜백이 타격을받을 것이다 :

<%@ Page Language="C#" %> 
<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <script type="text/javascript"> 
     function pageLoad() { 
      var manager = Sys.WebForms.PageRequestManager.getInstance(); 
      if (manager != null) { 
       manager.add_beginRequest(Request_Begin); 
       manager.add_endRequest(Request_End); 
      } 
     } 

     function Request_Begin(sender, args) 
     { 
      debugger; 
     } 

     function Request_End(sender, args) { 
      debugger; 
     } 
    </script> 
</head> 
<body> 
    <form id="Form1" runat="server"> 
     <asp:ScriptManager ID="scm" runat="server" /> 
     <asp:UpdatePanel ID="up" runat="server"> 
      <ContentTemplate> 
       <%= DateTime.Now.ToLongTimeString() %> 
       <asp:LinkButton ID="link" runat="server" Text="update" /> 
      </ContentTemplate> 
     </asp:UpdatePanel> 
    </form> 
</body> 
</html> 

당신이 당신의 AJAX 물건이 그 이제까지 해고에 대해 잊지 할 jQuery를 사용하는 경우

.

+0

duh, 저는 바보입니다. 페이지가로드 될 때 호출되어 완전히로드되었다고 생각했습니다. :) –

0

Page_Load에 첨부하는 것이 너무 늦었다 고 생각합니다. PreInit에서 연결해보십시오.

관련 문제