Textbox in Event neuen Wert zuweisen

tomkruse

Erfahrenes Mitglied
Guten Morgen!

Irgendwie schaffe ich es nicht, einer Textbox auf herkömmlichem Weg einen Wert zuzuweisen.

Code:
              txtHours = new TextBox();
              txtHours.Width = 100;
              txtHours.ID = "prodhours_" + labelText;
              txtHours.Text = Hours.ToString();
              txtHours.EnableViewState = false;

Diese Textbox wird dynamisch in eine Tabellenzelle generiert und zwar bei jedem Aufruf der Seite. Das klappt auch alles. Doch nach dem Absenden der Seite (es geht konkret um eine Umblätterfunktion) ist der Wert der Textbox immer derselbe, obwohl er für die betreffende Seite auf die geblättert wurde aus einer Datenbank ausgelesen wird. Die Textbox merkt sich hartnäckig den alten Wert. Selbst das Abdrehen von Viewstate hat nichts gebracht.

Haben Textboxen ein verstecktes Kurzzeitgedächnis? :)

Habe zwar eine Lösung gefunden, aber diese erscheint mir etwas, nun ja brachial und ich kann mir nicht vorstellen, daß das nicht auch anders funktionieren kann.

Nach dem Beschreiben stecke ich die Textbox in eine Hashtable:

Code:
              txtHours.Text = Hours.ToString();
              htTextBoxes.add(txtHours, Hours.ToString());

Und in Page_Prerender schreibe ich den Wert, den die Textbox eigentlich ohnehin schon haben müßte nochmal rein:

Code:
    protected void Page_Prerender(object sender, EventArgs e)
    {
         foreach (DictionaryEntry de in htTextBoxes)
         {
             TextBox t = (TextBox)de.Key;
             t.Text  = de.Value.ToString();
         }
    }

Das klappt und nun läuft alles so wie ich möchte. Ich frage mich nur: Welchen Sinn hat es, daß man Textboxen einen Inhalt zuweisen kann, wenn sie ihn nicht annehmen? bzw. was genau habe ich bei meiner Zuweisung falsch gemacht?

Danke für eventuelle Hinweise!

viele Grüsse

Thomas.
 
Könntest du bitte mal den gesamten Codebehind der aspx Seite in einem Stück posten?

Dann kann ich vielleicht mehr sagen. Ich hab eine Vermutung
 

Neue Beiträge

Zurück