2011-07-17 12 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内のコードは決してヒットしないようです。  理由は何ですか?あなたが(例えば、UpdatePanelのから)マイクロソフトのスクリプトを使用したAJAX要求をトリガするとき

+0

UpdatePanelを使用していますか? – SLaks

+0

duhは、これが何であるか完全に誤解されているようです –

答えて

1

コールバックがヒットします:

<%@ 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

私はばかだ、私は彼らがページが読み込まれ始めて完全に読み込まれたときに呼び出されたと思っています:) –

0

Page_Loadに添付するのが遅すぎると思います。 PreInitで接続してみてください。