2010-10-20 7 views
3

J'ai un contrôle Accordion qui est rempli dynamiquement. Je veux attraper l'événement déclenché quand un nouveau volet est cliqué sur pour ouvrir. Je ne vois pas l'événement du tout dans l'intelli-sens et quand je le code à la main de toute façon j'ai des erreurs.catch SelectedIndexChanged événement de contrôle Accordéon dans ASP.NET AjaxToolkit

Y at-il un moyen d'attraper cet événement?

L'objectif est de permettre à un contrôle de la page maître qui gère l'Accordéon de savoir quand l'Accordéon a été modifié afin qu'il puisse mettre à jour un autre contrôle.

Répondre

5

Pour gérer l'événement côté client selectedIndexChanged:

function pageLoad() 
{ 
    $find("accordionBehaviorID").add_selectedIndexChanged(
     accordion_selectedIndexChanged); 
} 

function accordion_selectedIndexChanged(sender, args) 
{ 
    var oldIndex = args.get_oldIndex(); 
    var newIndex = args.get_selectedIndex(); 

    // Do something... 
} 

Comme d'habitude, vous pouvez définir et enregistrer le gestionnaire en même temps en utilisant un anonymous function:

function pageLoad() 
{ 
    $find("accordionBehaviorID").add_selectedIndexChanged(
     function(sender, args) { 
      // Do something... 
     } 
    ); 
} 
+0

Merci pour les exemples de code! Je n'ai aucune expérience avec des fonctions anonymes. Où ce code devrait-il être placé? –

+0

À vous de voir. Vous pouvez le placer entre les balises '