EventHandler

Jo-Jo

Grünschnabel
Hallo,

ich lasse dynamisch Werte in eine Tabelle schreiben:

Code:
     Label lbl = new Label();
                lbl.Text = itemChecked.ToString();
                table1.Controls.Add(lbl, 0, x);
                TextBox txt = new TextBox();
                txt.Name = "txt" + itemChecked.ToString();
                table1.Controls.Add(txt, 1, x);
                Button btn = new Button();
                btn.Name = "btn" + itemChecked.ToString();
                btn.Text = "OK";
                btn.Click +=new EventHandler(btn_Click);
                table1.Controls.Add(btn, 2, x);
                x++;

Nun möchte ich:

1.: Dass wenn ich in ein Textfeld (txt + itemName) etwas schreibe, ich diesen Eintrag auch dem zugehörigem Item entsprechen zuordenen kann.
Das ganze soll zum Einkauf dienen: Wenn ich also vier Items in der Liste habe und ich zu einem etwas in die Textbox schreibe, dann soll das auch eindeutig wieder abrufbar sein.

2.: Fast das gleiche Problem beim ButtonClick.
Hier soll mir ebenfalls die ID bzw. Name des Buttons mit übergeben werden.

Ich hoffe, mein Problem ist einigermaßen verständlich?!

Danke und viele GRüße!
 
Zuletzt bearbeitet:
Servus,

du kannst nach der Name-Property deine Controls von übergeordneten Containern aus suchen. Kenne das selbst nur von WebControls, aber es müsste in etwa wie folgt funktionieren:
C:
table1.Controls.Find("txt" + itemName, true);

Mit den Buttons müsste das in der Funktion mit
C:
protected void button_Click(object sender, EventArgs e)
{
   Button b = (Button)table1.Controls.Find(((Button)sender).Name, true)[0];
   ...
}
 
Zurück