define Custom Event for WebControl in asp.net

I need to define 3 events in a Custom Control as OnChange, OnSave, and OnDelete.
I have a GridView and work with its rows.

Can you help me and show me this code?

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Good article which can help you to achieve your task:

Custom Controls in Visual C# .NET
enter image description here

Step 1: Create the event handler in your control as below.

public event SubmitClickedHandler SubmitClicked;

// Add a protected method called OnSubmitClicked().
// You may use this in child classes instead of adding
// event handlers.
protected virtual void OnSubmitClicked()
{
    // If an event has no subscribers registered, it will
    // evaluate to null. The test checks that the value is not
    // null, ensuring that there are subscribers before
    // calling the event itself.
    if (SubmitClicked != null)
    {
        SubmitClicked();  // Notify Subscribers
    }
}

// Handler for Submit Button. Do some validation before
// calling the event.
private void btnSubmit_Click(object sender, System.EventArgs e)
{
    OnSubmitClicked();
}

Step 2 : Utilize the event in the page where you register your control. The following code is going to be part of your page where your control is registered. If you register it, it will be triggered by the submit button of the control.

// Handle the SubmitClicked Event
private void SubmitClicked()
{
    MessageBox.Show(String.Format("Hello, {0}!",
        submitButtonControl.UserName));
}


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x