2009-07-06 6 views
2

Disons que j'ai un contrôle composite dans ASP.NET (C#) qui inclut une liste déroulante. Je dois être en mesure de ramener l'événement à la forme parent afin que l'autre code puisse être exécuté en fonction de son SelectedItem.ASP.NET Composite Control élève l'événement vers le formulaire parent

Comment exposer l'événement OnSelectedItemChanged à l'application? Dois-je créer mon propre délégué et l'augmenter lorsque l'élément de la liste déroulante interne est modifié?

Répondre

5

J'ai créé un contrôle qui contient un bouton et j'utilise la même approche; créer un délégué et élever des événements sur le clic du bouton.

public delegate void IndexChangeEventHandler(object sender, EventArgs e); 
public event IndexChangeEventHandler SelectedIndexChanged = delegate { }; 

//this is in your composite control, handling ddl's index change event 
protected void DDL_SelectedIndexchanged(object sender, EventArgs e) 
{ 
    SelectedIndexChanged(this, e); 
} 
+0

C'est exactement ce que je pensais, merci! – Mauro

0

Correct ... Vous voulez créer votre propre événement pour SelectedItem et écrire un gestionnaire d'événements pour la SelectedItem de liste déroulante et à l'intérieur de la méthode augmenter votre événement.

Questions connexes