Ich möchte eine Dynamische Anzahl von Textboxen zählen (eigentlich möchte ich sie auswerten, aber der einfachheit halber zeig ich mal mein Codebeispiel mit zählen)
Wenn man auf Button1 klickt, werden 4 Textboxen einem Panel hinzugefügt. Das funktioniert auch einwandfrei.
Wenn man dann auf einen 2. Button klickt soll die Anzahl der Textboxen ausgegeben werden. Das funktioniert aber nicht...
Mir geht es jetzt nicht darum, nur die Anzahl der Textboxen zu wissen (klar, da könnt ich auch schon beim erstellen einfach mitzählen und in ner globalen Variablen speichern...).
Vielmehr möcht ich wissen, wie ich auf das Panel zugreifen kann, aus einer anderen Methode heraus.
Wenn man den Code von Button1_Click() nimmt und ins PageLoad schreibt, funktioniert das ganze nämlich.
Das muss irgendwas elementares sein, sry deswegen, aber bin eben noch nicht so lang dabei...
Code:
public partial class _Default : System.Web.UI.Page
{
//dynamische Steuerelemente
protected System.Web.UI.WebControls.TextBox dyn_TextBox;
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 4; i++)
{
dyn_TextBox = new TextBox();
dyn_TextBox.Text = i.ToString();
dyn_TextBox.ID = "tb" + i.ToString();
this.Panel1.Controls.Add(dyn_TextBox);
}
}
protected void Button2_Click(object sender, EventArgs e)
{
int counter = 0;
foreach (Control control in this.Panel1.Controls)
{
if (control is TextBox)
{
counter++;//zählt die Anzahl der Textboxen
}
}
this.TextBox1.Text = counter.ToString();
}
}
Wenn man auf Button1 klickt, werden 4 Textboxen einem Panel hinzugefügt. Das funktioniert auch einwandfrei.
Wenn man dann auf einen 2. Button klickt soll die Anzahl der Textboxen ausgegeben werden. Das funktioniert aber nicht...
Mir geht es jetzt nicht darum, nur die Anzahl der Textboxen zu wissen (klar, da könnt ich auch schon beim erstellen einfach mitzählen und in ner globalen Variablen speichern...).
Vielmehr möcht ich wissen, wie ich auf das Panel zugreifen kann, aus einer anderen Methode heraus.
Wenn man den Code von Button1_Click() nimmt und ins PageLoad schreibt, funktioniert das ganze nämlich.
Das muss irgendwas elementares sein, sry deswegen, aber bin eben noch nicht so lang dabei...