Hallo,
vermutlich eine triviale Frage, aber ich weiß nicht so recht, nach welchen Stichworten ich suchen soll.
Folgende Aufgabe: Auf eine ASPX-Seite sollen 50 Dropdownlistencontrols, die auch alle serverseitig verarbeitet werden müssen. Wie mache ich das geschickter als jetzt per Hand 50 mal das Control zu kopieren, die ID um eins hochzuzählen, und auf dem Server wieder 50 mal den gleichen Code zu schreiben - nur halt jeweils für eine andere ID?
Das muss doch irgendwie einfacher gehen?
Viele Grüße,
Golo
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
Guten Morgen,
du kannst sie ja in einer Schleife erzeugen:
for (int i = 0; i < vehicles.Length; i++)
{
vehicle = vehicles[i];
btn = new Button();
btn.Click += new EventHandler(btn_Click);
btn.Width = 150;
btn.ID = vehicle.ID.ToString();
btn.Text = vehicle.VehicleBez;
panelVehicles.Controls.Add(btn);
}
und einem Eventhandler zuweisen:
private void btn_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
}
Achtung! - Hinter dir ist ein dreiköpfiger Affe!
Hi,
du kannst das sehr einfach eine Panel erstellen und diesem dann Controls geben. dies geht über Controls.Add!
Über eine Schleife könntest du dir deine DropDownlist erstellen und dem Panel hinzufügen! In der Schleife kannst du dann jeweils auch die Id setzen!
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Habt ihr auch ausprobiert, ob die Werte der auf solche Art konstruierten Controls bei einem PostBack auch da sind - die Überprüfung muesste ja stattfinden, NACHDEM der Code die Controls generiert hat, und dann wird's wieder schwierig mit der Wertzuweisung. Unter Framework 1.1 jedenfalls ist das nicht ganz einfach - erstellen ja, aber auch auswerten? Hab zur Zeit ganz ähnliche Probleme.
LaTino
"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)
Okay, bei mir läuft's nun einwandfrei - auch mit Postback und allem 🙂.
Benutze allerdings 2.0 ...
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
Wie LaTino schon geschrieben hat, behält das 1.1 Panel nach einem Postback die zugefügten Controls nicht. Das 2.0 Panel macht das....
Kannst aber mit der FindControl methode evtl. gut arbeiten...
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Original von plongo
Kannst aber mit der FindControl methode evtl. gut arbeiten...
hmm... ich verstehe den Zusammenhang grade nicht
Wenn du weisst das du eine gleiche Anzahl von Controls hast bzw. zähler, da kannst du einfach innerhalb einer Schleife, auf die Controls zurückgreifen....
for(int i = 0, i >= Index, i++) {
DropDownlist ddl = (DropDownList) Page.FindControl("ddlid"+i)
}
so ungefährt halt!
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de