2010-03-02 8 views
1

Je tente d'utiliser un contrôle UserControl nommé CheckBoxControl en tant que valeur pour les attributs ExpandControlID/CollapseControlID de CollapsiblePanelExtender. Cela fonctionne bien quand j'utilise un contrôle CheckBox normal à la place.ASP.NET: CollapsiblePanelExtender ne fonctionne pas avec UserControl

<uc:CheckBoxControl ID="ucHaftpflicht" runat="server" OnCheckedChanged="UpdateStatus" ControlLabel="Haftpflicht" />   
<asp:Panel ID="HaftpflichtPanel" runat="server"> 
     ... 
</asp:Panel> 
<asp:CollapsiblePanelExtender ID="CollapsiblePanelExtender" runat="server" CollapseControlID="ucHaftpflicht.CheckBox" ExpandControlID="ucHaftpflicht.CheckBox" TargetControlID="HaftpflichtPanel" /> 

Quand je lance le site, les contrôles plus ajax sur mon site disparaissent et je reçois des erreurs suivantes dans la console d'erreur de script Firefox:

  • Fehler: Sys.InvalidOperationException: gestionnaire n'a pas été ajouté par la Sys.UI.DomEvent.addHandler méthode.

  • Fehler: Sys.ArgumentException: Impossible de trouver l'élément "ucHaftpflicht.CheckBox" Nom du paramètre: CollapseControlID

Répondre

2

Expose la case à cocher par un getter dans votre UserControl, et dans le code-behind de la page Affecter les ID de contrôle CollapsiblePanelExtender Réduire/Agrandir à ucHaftpflicht.MyCheckBox.ClientID

+0

J'ai espéré qu'il y aurait une solution déclarative au lieu d'une solution procédurale :) – codymanix

Questions connexes