2009-08-24 6 views

Répondre

0

Essayez IsCallBack - devrait faire l'affaire.

1

Utilisation ScriptManager.IsInAsyncPostBack:

if (ScriptManager.GetCurrent(this).IsInAsyncPostBack) 
{ 
    // In a request from an update panel 
} 
else { 
    // Not in a request from an update panel 
} 
0

Vous cherchez un moyen de déterminer ce sur le côté serveur ou côté client? Il y a un événement de chargement UpdatePanel côté serveur que vous pouvez remplacer je pense. Côté client peut être fait en suivant ces instructions - http://forums.asp.net/t/1254188.aspx

0

Si une mise à jour s'est produite dans une page, vous pouvez trouver quel (s) panneau (s) de mise à jour est causé (e) par la publication.
Il est possible par javascript

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoadedHandler); 

function PageLoadedHandler(sender, args) 
{ 
    //this event is raised after all content on the page is refreshed. 
    //Whether it was refreshed bacause of a synchronous or asynchronous 
    if (TargetPanelWasUpdated(args.get_panelsUpdated(), "UpdatePanel1")) 
    { 
     //do stuff 
    } 
} 

function TargetPanelWasUpdated(panelsUpdated, targetPanelID) 
{ 
    // NOTE: Multiple UpdatePanels will be included in the list unless 
    // you set each panel's UpdateMode property to Conditional. 
    var matched = false; 
    for (i = 0 ; i < panelsUpdated.length; i++) { 
     if (panelsUpdated[i].id == targetPanelID) { 
      matched = true; 
      break; 
    }      
}  
return matched;  
} 
Questions connexes