2010-11-09 18 views
1

J'essaie d'exécuter du code d'initialisation jQuery lorsque de nouveaux éléments apparaissent dans le DOM suite à une requête asynchrone dans un UpdatePanel. Je n'arrive pas à trouver le morceau de données que je veux dans les arguments de endRequestHandler.Comment puis-je obtenir l'ID du (des) UpdatePanel (s) dans ASP.NET AJAX auquel une réponse est destinée?

Quelqu'un sait où sont situées les données que je cherche? Sinon, je pourrais exécuter mon code d'initialisation sur le code HTML de la réponse (si cela est même possible). Des idées?

+0

Juste un rapide, avec un peu de nécromancie et hors topicness: en utilisant "avec" en javascript est pas recommandé, pour la clarté du code et la sécurité. Il est également supprimé du mode strict ES5. http://yuiblog.com/blog/2006/04/11/with-statement-considered-harmful/ –

Répondre

1

Vous pouvez utiliser le args.get_panelsUpdating(); dans le gestionnaire PageLoaded pour obtenir une collection de panneaux de mise à jour dont le contenu a été actualisé.

Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest); 
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded); 

function pageLoaded(sender, args) { 
    var updatedPanels = args.get_panelsUpdated(); 
    for (i=0; i < updatedPanels.length; i++) {    
     $(updatedPanels[i]).children('.tabContainer').tabs(); 
    } 
} 

Références: