从Web用户控件调用父aspx页面的函数

G.S*_*gal 1 c# asp.net

我有一个aspx页面,我正在动态添加占位符中的Web用户控件.并知道我在一个用户控件上有取消按钮,单击取消按钮我想在aspx页面(占位符)中加载其他用户控件.

我怎么能这样做,如果我在usercontrol中创建一个事件处理程序然后变为null.

谢谢

And*_*bel 6

用户控件永远不应该对它所在的页面有任何依赖性.向控件添加一个事件,并从Cancel按钮事件处理程序中触发它.

public event EventHandler CancelClicked;

protected Cancel_Click(object sender, EventArgs e)
{
  if(CancelClicked != null)
  {
    CancelClicked(this, e);
  }
}
Run Code Online (Sandbox Code Playgroud)

从您的页面,订阅控件的CancelClicked事件,并执行应该在该其他用户控件上执行的任何操作.

  • 如果动态添加,则必须在代码中分配事件处理程序:`myControl.CancelClicked + = MyControl_CancelClicked;`. (2认同)