c# - 如何在控件中使用 PreLoad 事件?

标签 c# asp.net .net preload

我正在尝试修改页面上的控件以减少 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/

相关文章:

asp.net - 从 Controller 的操作中将 XML 作为 ActionResult 返回?

.net - 使用 WPF 的网格中的按钮数组

c# - 如何通过泛型获取接口(interface)的具体实现?

c# - 加载任何版本的静态引用 .NET 程序集

asp.net - 临时 ASP.NET 文件丢失

ASP.NET:是否有一种简单的方法可以在多个母版页中包含一个 div 实例?

c# - 如何使用 ABCpdf 将图像添加到 PDF 文档的专色 channel 中?

.net - 使用 EPPlus 时如何设置列类型

java - 套接字读取缓冲区无响应

c# - 创建全局 session