Hi, den anderen Weg hatte ich bereits gemacht, also TextBox und Buttons immer in die Form gesetzt. ABER, so soll unser System nicht ausgelegt sein. Hintergrund ist, das ganze soll als HTML-Tabelle benutzt werden, in welcher dann die TextBoxen usw. stehen. Von Programmtext aus, nicht vom HTML-Code wollen wir dann die Spalten etc. der Tabelle aendern, ist einfacher zu handhaben. Daher muss es so umstaendlich sein, obwohl es eigentlich nicht wirklich umstaendlich ist.
Die Sache mit der Pre-Render Methode ist wirklich gut. Waere aber besser wenn ich das noch irgendwie anders handhaben koennte, also wenn es einen elegenteren Weg gaebe. Ansonsten muss ich tatsaechlich darauf zurueckgreifen. Ach ja, ich bin mehrmals schon mit dem Debugger durch den Code gegangen, laut Debugger-Informationen wird der Inhalt der TextBox korrekt neu gesetzt. Ist aber dummerweise nicht in der Form zu sehen. (War mein erster Gedanke, also das Problem auftrat.) Ich danke, Euch auf jeden Fall, fuer Eure Hilfe! Mit freundlichen Gruessen! Kristian Tingler -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Auftrag von Pessner, Andreas Gesendet: Montag, 1. M�rz 2004 11:31 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] DRINGEND: TextBox.Text Proptery nach Page.IsPostBack == true aendern; MIT SOURCE CODE Ist das net a bissle Sehr umst�ndig?? Ansonsten wenn du das wirlich so umst�ndlich machen willst - dann debugge das ganze doch einfach - zumal du ja Visual Studio benutzt (sieht zumindest so aus!) Wenn DU das net so umst�ndlich brauchst - dann w�rde ich das anders machen! 1. Textbox immer rein 2. Button auch rein! 3. Der Button bekommt nen EventHandler! Button Btn = new Button(); Btn.Click += new EventHandler(Btn_click_event); 4. Im Eventhandler Private void Btn_click_event(object sender, EventArgs e) { txt.Text = "hier der neue Text!"; } So das m��te es so ungef�hr sein! -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Kristian Tingler Gesendet: Montag, 1. M�rz 2004 10:47 An: [EMAIL PROTECTED] Betreff: [Asp.net] DRINGEND: TextBox.Text Proptery nach Page.IsPostBack == true aendern; MIT SOURCE CODE Hallo, ich hab da ein mit Sicherheit einfaches Problem, was mich aber schon das ganze Wochenende an Nerven gekostet hat. Ich habe eine Form, in der Form habe ich einen PlaceHolder. Dann habe ich ja die PageLoad-Methode, in ihr deklarieren ich eine TextBox und initialisiere diese, das selbe mit einem Button. Beide Controls fuege ich der Control-Collection des PlaceHolders hinzu. Das ganze geschieht waehrend eines Page.IsPostBack == false. Wenn jetzt Page.IsPostBack == true ist, frage ich die geposteten Werte der TextBox ab, und aendere den Inhalt des TextBox.Text - Properties. Dann fuege ich die Controls wieder der PlaceHolder-Control-Collection hinzu. Aber die TextBox in der Form, hat noch immer den selben Inhalt, welche ich eingegeben habe. Obwohl ich den Inhalt nach dem PostBack geaendert habe. Konkret: Gebe ich in der TextBox einen Text ein, klicke auf den Button, ist immernoch der selbe Inhalt in der TextBox. Und genau das soll nicht sein! Der Source Code ist nur ein Beispiel Projekt, um das Problem einfacher zu beschreiben. Danke, schoneinmal im voraus fuer Eure Hilfe! Mit freundlichen Gruessen! Kristian Tingler Source-Code: using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Diagnostics; namespace WebTest { /// <summary> /// Zusammenfassung f�r WebForm1. /// </summary> public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.PlaceHolder PlaceHolder1; private void Page_Load(object sender, System.EventArgs e) { Button btn = null; // TextBox deklarieren und initialisieren System.Web.UI.WebControls.TextBox txt; txt = new TextBox(); PlaceHolder1.Controls.Clear(); if (Page.IsPostBack) { // jetzt die gePOSTeten Werte holen NameValueCollection coll = Request.Form; String[] arrKey = coll.AllKeys; // alle Keys in ein String-Array SortedList slV = new SortedList(); for (int i = 0; i < arrKey.Length; i++) { String[] arrValue = coll.GetValues(arrKey[i]); if (arrValue.Length > 0) { slV.Add(arrKey[i], arrValue[0]); Debug.WriteLine("Key: " + arrKey[i].ToString() + " - Value: " + arrValue[0].ToString()); } } if (slV.ContainsKey("txtID")) // txt-Control wurde geaendert { txt.ID = "txtID"; txt.Text = "Ich stehe hier, nach dem Button-Klick, in der TextBox"; // coll["txtID"]; PlaceHolder1.Controls.Add(txt); btn = new Button(); PlaceHolder1.Controls.Add(btn); PlaceHolder1.Controls.Add(new LiteralControl("Page.IsPostBack == true")); } } else { txt.ID = "txtID"; txt.Text = ""; PlaceHolder1.Controls.Add(txt); btn = new Button(); PlaceHolder1.Controls.Add(btn); PlaceHolder1.Controls.Add(new LiteralControl("Page.IsPostBack == false")); } } #region Vom Web Form-Designer generierter Code override protected void OnInit(EventArgs e) { // // CODEGEN: Dieser Aufruf ist f�r den ASP.NET Web Form-Designer erforderlich. // InitializeComponent(); base.OnInit(e); } /// <summary> /// Erforderliche Methode f�r die Designerunterst�tzung. /// Der Inhalt der Methode darf nicht mit dem Code-Editor ge�ndert werden. /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } } _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net
