在我的子用户控件中,我有一个带有 OnRowCommand 事件处理程序的网格视图,该处理程序在单击编辑按钮时执行。当在子控件中单击“编辑”按钮时,我想将父控件中的 ASP.NET 占位符控件的可见性设置为 true。
完成这项任务的最佳方法是什么?
更新:
在互联网上进行了更多研究后,我在我的子控件中创建了一个公共事件事件处理程序,并在触发 OnRowCommand 事件时引发了该事件。在父控件的 page_load 事件中,我将子用户控件事件映射到父控件中的私有事件。
子控件源代码:
public event EventHandler MyEvent;
protected void MyGridView_OnRowCommand(object sender, GridViewCommandEventsArgs e)
{
if(MyEvent != null)
MyEvent(sender, e);
}
家长控制源代码:
protected void Page_Load(object sender, EventArgs e)
{
MyChildControl.MyEvent += new EventHandler(this.MyLocalEvent);
}
private void MyLocalEvent(object sender, EventArgs e)
{
MyPlaceHolder.Visible = true;
MyUpdatePanel.Update();
}