Richtig...und wenn ich weiss welcher ImageButton geclicked wurde...so will ich zugleich in der selben Funktion das Attribut ImageUrl eben dieses ImageButtons �ndern.
Ich denke allzu falsch wird mein Ansatz nicht sein...nur leider kommen sich die Eventhandler immer ins Geh�ge. Kannst' mir da weiterhelfen? Gruss Serge ----- Original Message ----- From: "Oliver Waterkamp" <[EMAIL PROTECTED]> To: "aspDEdotnet" <[EMAIL PROTECTED]> Sent: Friday, January 04, 2002 4:19 PM Subject: [aspdedotnet] AW: Eventhandler Soweit ich das verstehe willst du einfach wissen welches Image(Status) gedr�ckt wurde, stimmt das? -------- Online Consulting AG, Oliver Waterkamp, Weststrasse 38, CH-9500 Wil .Net Programmierer Phone +41 (0)71 913 31 31, Fax +41 (0)71 913 31 32 http://www.oc-ag.ch, <mailto:[EMAIL PROTECTED]> -------- -----Urspr�ngliche Nachricht----- Von: Serge Runge [mailto:[EMAIL PROTECTED]] Gesendet: Samstag, 29. Dezember 2001 17:34 An: aspDEdotnet Betreff: [aspdedotnet] Eventhandler Hallo Liste, Ich hab eine Table Webcontrol dynamisch mit Daten aus einer db gef�llt und in einer Spalte 'Status' pro Zeile einen ImageButton aus einem Array imgbtnStatus[] eingef�gt (per add zur ControlsCollection). Da das ganze im CodeBehind stattfindet, muss ich auch den Eventhandler f�r das CommandEvent eigens herleiten. Leider ergibt der folgende Code aber einen Fehler: Egal welcher der Buttons gedr�ckt wird....Command-Event, CommandName und CommandArgument sind immer gleich, obwohl jeder Instanz in imgbtnStatus[] explizit was verschiedenes zugewiesen wurde...das heisst es wird immer nur der oberste Button von dem EventReceiver (der Funktion imgbtnStatus_Command) ver�ndert, egal ob Click auf Button 1, 2 oder 3. Danke schonmal und guten Rutsch Serge Code: protected ImageButton[] imgbtnStatus; .... public void Page_Load(EventArgs e) {.... // <ItemTemplate> der Table (�hnlich Repeater Control ) imgbtnStatus = new ImageButton[ds.Tables["acc"].Rows.Count]; .... int i = 0; foreach(DataRow rowItem in ds.Tables["acc"].Rows ) { r = new TableRow(); c = new TableCell(); c.Controls.Add(new LiteralControl("<p>"+ rowItem["Name"].ToString() +"</p>") ); r.Cells.Add(c); c = new TableCell(); c.Controls.Add(new LiteralControl("<p>"+ rowItem["Description"].ToString() +"</p>") ); r.Cells.Add(c); imgbtnStatus[i] = new ImageButton(); imgbtnStatus[i].ID = rowItem["Name"].ToString(); imgbtnStatus[i].ImageUrl = "../img/item." + rowItem["Status"].ToString() + ".bmp"; imgbtnStatus[i].AlternateText = rowItem["Status"].ToString() + i.ToString(); imgbtnStatus[i].Command += new CommandEventHandler(this.imgbtnStatus_Command); imgbtnStatus[i].CommandName = "start"; imgbtnStatus[i].CommandArgument = i.ToString(); c = new TableCell(); c.Controls.Add(imgbtnStatus[i]); r.Cells.Add(c); tblStartNew.Rows.Add(r); i++; } // </ItemTemplate> } public void imgbtnStatus_Command(object sender, CommandEventArgs e) { imgbtnStatus[Convert.ToInt32(e.CommandArgument)].ImageUrl = "../img/item.clicked.bmp"; } | [aspdedotnet] als [EMAIL PROTECTED] subscribed | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.dotnetgerman.com/listen/aspDEdotnet.asp | [aspdedotnet] als [EMAIL PROTECTED] subscribed | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.dotnetgerman.com/listen/aspDEdotnet.asp | [aspdedotnet] als [email protected] subscribed | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
