Freigeben über


Multiple UpdatePanels - Who caused the update ?

Does your client code need to know what control caused your update panels to update or which of several UpdatePanels contained the triggering control ? Try this.... (Or do the same thing with addbeginRequest();

    1 <script type="text/javascript">
    2 <!--
    3 var prm = Sys.WebForms.PageRequestManager.getInstance();
    4 
    5 prm.add_endRequest(EndRequest);
    7 function EndRequest(sender,args)
    8     {
    9     alert(sender._postBackSettings.panelID + " -> " + sender._postBackSettings.sourceElement.id);
   10     }
   11  -->
   12 </script>

Note that "id" contains the id of the CONTROL that caused the postback. panelId contains a string that appends the event trigger with the UpdatePanel name.   Note that if the update was caused by an event configured in the Triggers Collection or updated explicitly in JavaScript, the "Control" name will be the UpdatePanel.