2009-05-21 8 views
1

Je suis en train de créer un contrôle utilisateur qui affiche un message lorsqu'un répéteur est vide.Quel événement de contrôle utilisateur intervient entre la liaison de données (autres contrôles) et le rendu?

L'idée est simple, fournir le contrôle de l'utilisateur avec l'ID du répéteur. Lorsque le contrôle utilisateur est rendu, recherchez le répéteur et vérifiez Items.Count. Si c'est zéro, affichez le message.

Je voudrais ajouter encore une fonctionnalité. Je veux pouvoir cacher le Répéteur s'il n'y a aucun article.

Évidemment, je ne peux pas le faire en protected override void Render(HtmlTextWriter writer) parce que le répéteur a (peut-être) déjà été rendu. Je ne peux pas non plus le faire lorsque l'ID Repeater est affecté au contrôle utilisateur, car la liaison de données n'est pas encore établie.

Donc, ma question est .. quel événement puis-je remplacer dans mon contrôle utilisateur où databinding a eu lieu, mais n'a pas rendu .

Répondre

2

Envisagez l'événement PreRender de la page. De cette façon, la liaison est arrivé, mais rien n'a encore été rendu, bien qu'ils soient sur le point de le faire.

+0

Cependant, j'ai besoin de tout le code pour être dans mon contrôle utilisateur. – James

+0

Oh ... en fait je pense que je sais ce que tu veux dire. Je peux ajouter une signature 'protected void Page_PreRender (expéditeur d'objet, EventArgs e)' à mon contrôle utilisateur. Je vais essayer ça. – James

+0

Oui, cela a fait l'affaire. Merci. – James

Questions connexes