如何在控件中使用PreLoad事件?

时间:2011-12-30 15:48:54

标签: c# asp.net .net preload

我正在尝试修改页面上的控件以减少会话依赖性。我目前无法访问页面本身,只能访问主要由DataGrid组成的控件。我试图在回发时检索DataGrid信息,以便我可以操纵数据并重新绑定网格。

问题是页面在我可以检索数据之前在控件上调用数据绑定。 (实际上它是在我的控件所在的选项卡控件上调用数据绑定。)此调用发生在页面的OnLoad事件上,然后调用控件的OnLoad。我看到这是一个PreLoad事件,它发生在加载视图状态之后但在调用OnLoad之前。但是我遇到了从我的控件访问此事件的问题。无论如何我可以访问此事件,以便在页面覆盖之前检索数据吗?

2 个答案:

答案 0 :(得分:1)

将以下代码添加到您的控件而不是OnLoad。 (from here

protected override void OnInit(System.EventArgs e)
{
    // this assigns Page_PreLoad as the event handler 
    // for the PreLoad event of the Control's Page property
    this.Page.PreLoad += Page_PreLoad;
    base.OnInit(e);
}

private void Page_PreLoad(object sender, System.EventArgs e)
{
    // do something here
}

答案 1 :(得分:0)

这可能会有所帮助:MSDN - ASP.NET Page Life Cycle Overview

图像的1/3向下总结了它。