嘿 如何在usercontrol完成方法之后调用页面方法/从用户控件内部激活父页面方法?
答案 0 :(得分:3)
最优雅的解决方案是让您的UserControl引发一个由父页面处理的事件。
在您的用户控件中,定义一个事件并将其抬起:
public partial class WebUserControl1 : System.Web.UI.UserControl {
public event EventHandler MyMethodIsFinished;
// ...
protected void MyMethod {
// ...
if (MyMethodIsFinished != null)
MyMethodIsFinished(this, EventArgs.Empty);
}
}
在您的页面中,嵌入用户控件并定义处理程序:
<uc1:WebUserControl1 ID="MyWebUserControl1" runat="server"
OnMyMethodIsFinished="MyMethodIsFinishedHandler" />
然后在页面中编写处理程序代码:
protected void MyMethodIsFinishedHandler(object sender, EventArgs e) {
// do something
}
如果您需要将数据传递给事件处理程序,建议的方法是继承EventArgs
,如this example所示。