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

Antwort per Email an