2010-11-16 5 views
1

de fond sur le contrôleévénements de contrôle des enfants à l'intérieur contrôle personnalisé

j'ai un contrôle qui remplace le paradigme de l'aide d'une boîte de sélection d'actions possibles avec un bouton « faire ». Il s'agit essentiellement d'un div avec une liste non ordonnée à l'intérieur qui contient des boutons asp.net.

Mon problème

La configuration de contrôle parent afin que je puisse ajouter des contrôles de l'enfant à une collection de la page ASPX. La seule chose dans le fichier codebehind est l'événement click que le contrôle enfant doit déclencher.

Pour une raison quelconque, le contrôle enfant ne déclenche jamais l'événement click même si je peux voir qu'il a été affecté au EventHandler correct.

Classes

Voici une signature de pseudo pour le contrôle parent:

[ParseChildren(true)] 
[PersistChildren(false)] 
public class ParentControl : CompositeControl 

Voici la liste des contrôles enfants à l'intérieur du parent:

[NotifyParentProperty(true)] 
[PersistenceMode(PersistenceMode.InnerProperty)] 
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] 
public List<ChildControl> Items 

Enfin, voici le contrôle des enfants:

ChildControl : Button 

J'ai regardé beaucoup d'autres questions sur le site, mais rien ne m'a aidé jusqu'ici. Cela a retardé mon travail d'environ une semaine et je suis vraiment désespéré de trouver une solution à ce stade.

Répondre

1

Je crois avoir trouvé la réponse à ma propre question. Initialement, j'utilisais une collection personnalisée pour stocker les contrôles enfants dans le parent. J'ai essayé de les mettre dans la collection "Controls" du parent et cela a commencé à fonctionner immédiatement.

Je suppose que cela avait quelque chose à voir avec les enfants ne pas frapper l'arbre de contrôle assez tôt.

Questions connexes