Давайте возьмем эту концепцию и применим ее к пользовательскому элементу управления с текстовым полем и двумя кнопками. Пользовательский элемент управления размещен в Gridview. Когда мой код запускает метод в моем методе обработчика событий всегда имеет значение null. Я думаю, что это связано с тем, что кнопка находится в пользовательском элементе управления, который находится в виде сетки.
Вот мой код управления пользователем.
открытый частичный класс User_Controls_GridViewFilter: System.Web.UI.UserControl
{
public event EventHandler UserControlButtonClicked;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
renderPage();
}
}
private void OnUserControlButtonClick()
{
if (UserControlButtonClicked != null)
{
UserControlButtonClicked();
}
}
protected void btnSearch_Click(object sender, EventArgs e)
{
OnUserControlButtonClick();
}
protected void btnReset_Click(object sender, EventArgs e)
{
OnUserControlButtonClick();
}
}
Я регистрирую элемент управления на странице aspx.
((User_Controls_GridViewFilter)gvMapLayer.HeaderRow.FindControl("FilterBox1")).UserControlButtonClicked
+= new ButtonEventHandler(User_Controls_GridViewFilter_UserControlButtonClicked);