Click event handler with Custom Control Button

2019-08-12 17:15发布

问题:

I'm creating an ASP.NET Custom Control for my web application which is basically an ASP.NET Button control contained inside multiple <div> elements (for styling purposes).

How can I create a Click event handler for my custom control so that my control acts as an ASP.NET Button?

Ie.

<cc:Button id="myButton" runat="server" Text="Submit" />

Sub myButton_Click(sender as object, e as EventArgs) Handles myButton.Click

End Sub

回答1:

In the code behind, declare an event in your class:

Public Event Click(sender as object, e as EventArgs)

Then when you handle the click event for the constinuent button, raise the event

Sub btnButton_Click(sender as object, e as EventArgs) Handles btnButton.Click
    RaiseEvent Me.Click(Me, EventArgs)
End Sub


回答2:

Great snippet, came very handy for User Control to raise event where the parent screen needs to be notified. My generic form is like this:

Public Event eventTrigger(ByVal sender As Object, ByVal e As EventArgs)

Private Sub ucUserControl_Changed(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtText1.TextChanged, txtText2.TextChanged,txtetc.TextChanged

    RaiseEvent eventTrigger(Me, e)

End Sub