Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.
Events in eigene WebUserControls (.ascx) einzubauen ist im Prinzip ganz einfach:
1: public event ClickEventHandler Clicked;
2: public delegate void ClickEventHandler(object sender, EventArgs e);
3: protected virtual void OnClicked(EventArgs e)
4: {
5: if (Clicked != null)
6: Clicked(this, e);
7: }
Man deviniert ein Event mit einem Eventhandler-Typ (Zeile1), definiert einen Delegaten für den Eventhandler (Zeile 2) und kann dann eine Methode definieren, die den Event auslöst. Diese Methode ruft man dann auf, wenn das Event ausgelöst werden soll.
Wenn man das UserControl in eine Seite einbaut kann man jetzt im CodeBehind ganz einfach einen Eventhandler auf den Event registrieren und fertig:
this.ucButton.Clicked += new ClickEventHandler(ucButton_Clicked);
Auch im Markup kann man den Event angeben, vorausgesetzt man hat den entsprechenden Eventhandler angelegt.
<uc3:ucButton ID="ucButton" runat="server" Text="Gross" ImageURL="~/Images/Status/GreenBox.png" OnClicked="ucButton_Clicked" />
Remember Me