Here you go:
function InterceptUpdateCallback(sender, args) { if (sender._postBackSettings) alert(sender._postBackSettings.panelID); else alert('first load'); }
Update:
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void LinkButtons_Click(object sender, EventArgs e) { LabelMain.Text = LabelSub1.Text = LabelSub2.Text = LabelSub3.Text = string.Format("{0} Updated By {1}", DateTime.Now, ((Control)sender).ID); } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <style type="text/css"> body { font-family: Tahoma;} fieldset { padding: 15px; } fieldset a { float: right; clear: none; display: block; margin: 10px; } fieldset span { display: block; margin-top: 20px; margin-bottom: 20px; } </style> </head> <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" /> <script type="text/javascript"> function pageLoaded(sender, args) { if (sender._postBackSettings) { var panelId = sender._postBackSettings.panelID.split('|')[0]; if (panelId == sender._scriptManagerID) { var updatedPanels = args.get_panelsUpdated(); var affectedPanels = "Affected Panels:\n"; for(var x=0;x<updatedPanels.length;x++) affectedPanels+= updatedPanels[x].id + "\n"; alert("Request initiated by ScriptManager\n\nMight be an async trigger, or child of an update panel with children as triggers set to false.\n\n"+affectedPanels); } else alert("Request initiated by: " + panelId); } } Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded); </script> <asp:LinkButton ID="UpdateMain" runat="server" Text="UpdateMain" OnClick="LinkButtons_Click"></asp:LinkButton>, <asp:LinkButton ID="UpdateSub1" runat="server" Text="UpdateSub1" OnClick="LinkButtons_Click"></asp:LinkButton>, <asp:LinkButton ID="UpdateSub2" runat="server" Text="UpdateSub2" OnClick="LinkButtons_Click"></asp:LinkButton>, <asp:LinkButton ID="UpdateSub3" runat="server" Text="UpdateSub3" OnClick="LinkButtons_Click"></asp:LinkButton> <br /> <br /> <asp:UpdatePanel ID="Main" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional"> <ContentTemplate> <fieldset> <asp:LinkButton ID="LinkButton1" runat="server" Text="LinkButton1" OnClick="LinkButtons_Click"></asp:LinkButton> <legend>Main - Update Mode:Conditional, Children As Triggers:False</legend> <asp:Label ID="LabelMain" runat="server" Text="LabelMain"></asp:Label> <asp:UpdatePanel ID="Sub1" runat="server" UpdateMode="Always" ChildrenAsTriggers="true"> <ContentTemplate> <fieldset> <asp:LinkButton ID="LinkButton2" runat="server" Text="LinkButton2" OnClick="LinkButtons_Click"></asp:LinkButton> <legend>Sub1 - Update Mode:Always, Children As Triggers:True</legend> <asp:Label ID="LabelSub1" runat="server" Text="LabelSub1"></asp:Label> <asp:UpdatePanel ID="Sub2" runat="server" UpdateMode="Always" ChildrenAsTriggers="true"> <ContentTemplate> <fieldset> <asp:LinkButton ID="LinkButton3" runat="server" Text="LinkButton3" OnClick="LinkButtons_Click"></asp:LinkButton> <legend>Sub2 - Update Mode:Always, Children As Triggers:True</legend> <asp:Label ID="LabelSub2" runat="server" Text="LabelSub2"></asp:Label> </fieldset> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="UpdateSub2" /> </Triggers> </asp:UpdatePanel> </fieldset> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="UpdateSub1" /> </Triggers> </asp:UpdatePanel> <asp:UpdatePanel ID="Sub3" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional"> <ContentTemplate> <fieldset> <asp:LinkButton ID="LinkButton4" runat="server" Text="LinkButton4" OnClick="LinkButtons_Click"></asp:LinkButton> <legend>Sub3 - Update Mode:Conditional, Children As Triggers:False</legend> <asp:Label ID="LabelSub3" runat="server" Text="LabelSub3"></asp:Label> </fieldset> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="UpdateSub3" /> </Triggers> </asp:UpdatePanel> </fieldset> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="UpdateMain" /> </Triggers> </asp:UpdatePanel> </form> </body> </html>
MK.
source share