Frage

Ich versuche, einen benutzerdefinierten Server-Steuerelement (WebControl) mit einem Textfeld zu erstellen.

ich asp.net Textbox auf das benutzerdefinierte Steuerelement in Createchildüberschreibung hinzufügen. In OnInit Überschreibung I Ereignishandler TextBox.TextChanged hinzuzufügen.

Alles funktioniert, außer, dass Textchanged nie ausgelöst. Ich sah Ansichtszustand und es sieht aus wie nie meine Textbox seine Eigenschaft Text im Ansichtszustand speichert. Ich habe versucht, Text in verschiedenen Orten, um, einschließlich Konstruktor, aber nichts funktioniert.

Wie kann ich TextBox dynamisch hinzugefügt WebControl es ist Text in Ansichtszustand zu sparen und Textchanged Ereignis ausgelöst?

Ich möchte ein Beispiel für WebControl Code sehr zu schätzen hinter mit TextBox dynamisch und Textchanged-Ereignis ausgelöst wird, hinzugefügt werden.

War es hilfreich?

Lösung 2

es fixiert. dynamische Steuerung muss in Init-Ereignisse erstellt und hinzugefügt werden. ( ‚:‘ Innerhalb benutzerdefinierte ID brechen Dinge ‚$‘ oder) Es muss eine ID ohne spezielle ASP.NET Symbole zugewiesen werden. Alle Objekte müssen nach Kontrolle zugewiesen werden an die Kontrollen Baum hinzugefügt.

Hier ist ein funktionierendes Beispiel für Seite Code-Behind:

private readonly TextBox _textBoxTest = new TextBox();

protected void Page_Init( object sender, EventArgs e )
{
    this.form1.Controls.Add( _textBoxTest ); 
    _textBoxTest.Text = "TestBoxTest";
    _textBoxTest.ID = "TestBoxTestId";
    _textBoxTest.TextChanged += this._textBoxTest_TextChanged;
}

void _textBoxTest_TextChanged( object sender, EventArgs e )
{
    _textBoxTest.Text = "Worked";
}

für WebControl Ort init Code in OnInit Überschreibung

Andere Tipps

Der dynamisch erstellen Steuerelement muss in jedem Post erstellt wieder zurück (die Pageinit Veranstaltung ist die bessere Option) für das Ereignis ausgelöst werden.

Übrigens, wenn Sie das Textchanged-Ereignis wollen ein Postback erzeugen Sie auch die Autopostback der Kontrolle auf true gesetzt ist.

Diese wird Ihnen helfen. Kurz gesagt, müssen Sie den Ansichtszustand zu handhaben für Ihre dynamisch zusätzliche Kontrolle auf eigene Faust.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top