2008-10-06 6 views
3

J'ai un contrôle composite qui contient un contrôle enfant ListBox. Lors de la publication, les éléments de la ListBox disparaissent. J'ai une propriété pour le ListBox qui l'initialise, et je l'ajoute à la collection de contrôles dans CreateChildControls. Est-ce que je fais quelque chose de mal? Dois-je faire quelque chose d'autre pour gérer correctement le viewState de ce ListBox?Comment gérer correctement l'état d'affichage d'un contrôle enfant dans un contrôle composite?

Répondre

1

Assurez-vous d'ajouter votre contrôle au parent avant d'ajouter vous ajoutez des éléments de liste ou de données. Sinon, votre contrôle composite ne suivra pas viewstate sur les listitems de votre ListBox. Voici une explication plus complète: http://scottonwriting.net/sowblog/posts/2129.aspx.

+0

Je ne suis pas fournisseur de données. Je viens d'ajouter quelques éléments à la liste lors du chargement de la page initiale. –

+1

Est-ce que vous ajoutez les éléments avant ou après avoir ajouté la ListBox au parent? Assurez-vous que c'est après. Si vous le faites sur onload, veillez à appeler EnsureChildControls() avant d'ajouter les éléments. Cela garantit que CreateChildControls() a été exécuté. –

+0

Si j'ajoute les éléments dans la page qui contient le contrôle composite, comment puis-je être sûr que createchildcontrols est déjà arrivé? –

Questions connexes