Ciao Devo intercettare il callback del server dopo il post async del pannello udate e determinare quale pannello ha avviato la richiesta. Il codice è piuttosto semplice:Come ottenere l'id di Updatepanel che ha avviato un postback
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(InterceptUpdateCallback);
function InterceptUpdateCallback(sender, args)
{
var updatedPanels = args.get_panelsUpdated();
for (idx = 0; idx < updatedPanels.length; idx++) {
if (updatedPanels[idx].id == "myUpdatePanel") {
StartSmth();
break;
}
}
}
E funziona quando UpdatePanel non si trova all'interno di un altro UpdatePanel. Ma quando è all'interno di un altro UpdatePanel updatedPanels [idx] .id ha l'id dell'ID Updatepanel. Quindi, come posso ottenere l'id di UpdatePanel che ha avviato la richiesta (l'UpdatePanel interno)? Grazie
Dubito che funzioni poiché _postBackSettings è una proprietà interna, quindi non è possibile chiamarlo direttamente dal codice. – Voice
questo è javascript !! e ti darà l'id del pannello di aggiornamento e l'id dell'elemento di attivazione come questo "UpdatePanel1 | Button1". Hai provato?! –
Sì, ho provato e si è verificato un errore poiché sender._postBackSettings non è disponibile – Voice