I have the following in an ASP.NET 2.0 page.
<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>
The pageLoad is called but the code inside of Request_Begin never appears to be hit. Any clue as to why?
The callbacks will be hit when you trigger an AJAX request using the Microsoft scripts (from an UpdatePanel for instance):
<%@ 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>
If you use jQuery to do your AJAX stuff forget about those being ever fired.
I think attaching it in Page_Load is too late. Try attaching it in PreInit.