Определить пользовательское событие для WebControl в asp.net
Мне нужно определить 3 события в пользовательском элементе управления как OnChange
, OnSave
, а также OnDelete
, у меня есть GridView
и работать со своими рядами.
Можете ли вы помочь мне и показать мне этот код?
1 ответ
Решение
Хорошая статья, которая может помочь вам в решении вашей задачи:
Пользовательские элементы управления в Visual C# .NET
Шаг 1. Создайте обработчик событий в вашем элементе управления, как показано ниже.
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();
}
Шаг 2: Используйте событие на странице, где вы регистрируете свой контроль. Следующий код будет частью вашей страницы, где ваш контроль зарегистрирован. Если вы зарегистрируете его, он будет вызван кнопкой отправки элемента управления.
// Handle the SubmitClicked Event
private void SubmitClicked()
{
MessageBox.Show(String.Format("Hello, {0}!",
submitButtonControl.UserName));
}