我正在尝试修改页面上的控件以减少 session 依赖性。我目前无法访问页面本身,只能访问主要由 DataGrid 组成的控件。我正在尝试检索回发时的 DataGrid 信息,以便我可以操作数据并重新绑定(bind)网格。
问题在于,在我检索数据之前,页面正在调用控件上的数据绑定(bind)。 (实际上它正在调用我的控件所在的选项卡控件上的数据绑定(bind)。)此调用发生在页面的 OnLoad 事件上,在调用控件的 OnLoad 之前。我看到这是一个 PreLoad 事件,发生在加载 View 状态之后但调用 OnLoad 之前。但是,我在从我的控制范围访问此事件时遇到问题。我是否可以访问此事件,以便在页面覆盖数据之前检索数据?
最佳答案
将以下代码添加到您的控件中,而不是 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
}
关于c# - 如何在控件中使用 PreLoad 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8681230/