Schmiddi Geschrieben 20. März 2007 Geschrieben 20. März 2007 Hallo, ich erstelle in meiner ASP.NET (C#) Anwendung dynamisch pro Tabellenzeile einen Button: //Zelle erstellen: System.Web.UI.WebControls.TableCell deletecell = new TableCell(); //Button erstellen: System.Web.UI.WebControls.Button delete = new Button(); //Button beschriften: delete.Text = "Löschen"; //PostBack des Buttons aktivieren: delete.UseSubmitBehavior = false; //Button in die Zelle einfügen: deletecell.Controls.Add(delete); //Zelle der Zeile hinzufügen row.Cells.Add(deletecell); Nun schaffe ich es leider nicht dazu den Click auf den Button abzufangen. Wie realisiere ich es hier, dass beim OnClickEvent eines Buttons eine hinterlegte Methode aufgerufen wird? Gruß, Andreas
Byteloser Geschrieben 20. März 2007 Geschrieben 20. März 2007 { ... System.Web.UI.WebControls.Button delete = new Button(); delete.Click += new EventHandler(delete_Click); ... } void delete_Click(object sender, EventArgs e) { //Click event }
Schmiddi Geschrieben 21. März 2007 Autor Geschrieben 21. März 2007 { ... System.Web.UI.WebControls.Button delete = new Button(); delete.Click += new EventHandler(delete_Click); ... } void delete_Click(object sender, EventArgs e) { //Click event } Das sieht ja schon mal super aus, Danke! Funktioniert soweit perfekt! Nun noch eine Frage dazu: Wie übergebe ich der Methode delete_Click einen Parameter? Wenn ich hinter EventHandler(delete_Click); eine Klammer mache, will er auch die beiden Parameter Object sender und EventArgs e von mir haben. Tipp? Vielen DAnk im Vorraus! Gruß, Andreas
Byteloser Geschrieben 21. März 2007 Geschrieben 21. März 2007 Das sieht ja schon mal super aus, Danke! Funktioniert soweit perfekt! Bitte! Nun noch eine Frage dazu: Wie übergebe ich der Methode delete_Click einen Parameter? Wozu soll das gut sein? Wenn ich hinter EventHandler(delete_Click); eine Klammer mache, will er auch die beiden Parameter Object sender und EventArgs e von mir haben. 1. Richtig: denn das entspricht auch der Signatur der Methode "delete_Click". 2. Falsch: Bei "EventHandler(delete_Click)" rufst Du die Methode ja nicht auf, sondern registrierst nur beim EventHandler-Delegaten. Also kannst Du dort keine Parameter übergeben. Tipp? Ja, "EventArgs e"-Objekt benutzen. Dafür ist er da. Grüsse Byteloser
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden