Entwickler-Ecke

ASP.NET und Web - Eventhandler dynamisch Binden


Dave86 - Mi 13.05.09 11:51
Titel: Eventhandler dynamisch Binden
Hallo an alle.

Hab ein problem mit eventhandlern by Buttons.

Ich will nach einem Button_Clilck einen Eventhandler an einen butten binden.


C#-Quelltext
1:
 this.btnAddDetection.Click += new EventHandler(this.btnEditDetection_Click);                    

Die wird in einem Button click event registriert...
Aber der Button reagiert nicht..ich bekommen kein event.

Danke schonmal für die Hilfe
Grüße Dave


JüTho - Mi 13.05.09 13:19

Da die Frage im Forum für ASP.NET steht, kommt mir vor allem der Verdacht, dass du den falschen Button genommen hast: Es muss der aus System.Web.UI.WebControls sein, nicht der aus System.Windows.Forms.

Darüber hinaus sind deine Informationen etwas sehr sparsam. Wo wird der EventHandler angebunden? Wird diese Stelle jemals ausgeführt? Ist der EventHandler mit Inhalt versehen?

Jürgen


Kha - Mi 13.05.09 13:55

Wahrscheinlich schlägt dir da der View State (*schauder*) ein Schnippchen: Du hängst den Eventhandler zwar an, nach dem Roundtrip wird der Button aber neu erzeugt und er ist wieder futsch. Du musst den Handler ab dann in jedem Page_Load anhängen. Je nachdem, was genau du vorhast, gibt es vielleicht auch eine geeignetere Lösung.


Ralf Jansen - Mi 13.05.09 14:22

Schaust du denn in den richtigen EventHandler?
Du hängst ja einen btnEditDetection_Click Handler an einen btnAddDetection Button.
Wenn das richtig ist. Solltest du zumindest mal über dein Naming nachdenken.


Dave86 - Mi 13.05.09 20:02

@JüTho

Es ist der asp.net Button, es is kein windows Form Button.
Der EventHandler wird bei einem Click auf einen anderen Button angebunden und dieser Befehl wird ausgeführt.
In dem EventHandler ist Code vorhanden und die Methode stimmt auch mit den vorgaben überein


C#-Quelltext
1:
2:
3:
4:
5:
 
protected void Function(object sender, EventArgs e)
{
     //Do Something
}


@Kha

Diese Vermutung hab ich auch, weil sobald ich das event im PAge Load Event binde funktioniert alles.

@Ralf

JA die Naming geschichte ist sicherlich nicht ganz richtig.Idee ist einfach den gleichen Button für 2 Aktionen zu verwenden und je nach dem in welchem "State" die Applikation ist den EventHandler dynamisch zu binden, deshalb add und edit.

Danke für eure Antworten...

evtl. ist es mit 2 Buttons einfacher, die ich dann einfach Visibla tru und false setzte.