2009-05-21 4 views
1

Ich baue gerade ein Benutzersteuerelement, das eine Nachricht anzeigt, wenn ein Repeater leer ist.Welches User Control-Ereignis kommt zwischen Datenbindung (andere Steuerelemente) und Render?

Die Idee ist einfach, geben Sie dem Benutzer die Kontrolle über die ID des Repeaters. Wenn das Benutzersteuerelement gerendert ist, suchen Sie den Repeater und überprüfen Sie Items.Count. Wenn es Null ist, dann zeige die Nachricht an.

Ich möchte jedoch eine weitere Funktion hinzufügen. Ich möchte den Repeater verstecken können, wenn es keine Elemente gibt.

Offensichtlich kann ich dies in protected override void Render(HtmlTextWriter writer) nicht tun, weil der Repeater (möglicherweise) schon gerendert wurde. Ich kann das auch nicht, wenn die Repeater-ID dem Benutzersteuerelement zugewiesen ist, da die Datenbindung noch nicht erfolgt ist.

Also meine Frage ist .. welches Ereignis kann ich in meiner Benutzersteuerung außer Kraft setzen, wo Datenbindung aufgetreten ist, aber Rendering hat nicht.

Antwort

2

Betrachten Sie das PreRender-Ereignis der Seite. So ist es zu einer Bindung gekommen, aber es wurde noch nichts gemacht, obwohl sie gerade dazu bereit ist.

+0

Ich brauche jedoch den gesamten Code in meiner Benutzerkontrolle. – James

+0

Oh .. eigentlich denke ich, ich weiß was du meinst. Ich kann meiner Benutzerkontrolle eine 'protected void Page_PreRender (Objektabsender, EventArgs e) Signatur hinzufügen. Ich werde das versuchen. – James

+0

Ja, das hat den Trick gemacht. Vielen Dank. – James