asp.net中的PreLoad和Load事件

问题描述 投票:1回答:1

我是ASP.NET的初学者,只是关于页面生命周期的问题:

MSDN文档说:“在页面为自身和所有控件加载视图状态后,在它处理Request实例包含的回发数据之后引发”,这意味着,我也可以将编程逻辑放在这里

protected void Page_PreLoad(object sender, EventArgs e)
{
   Label1.Text = "Hello World; the time is now " + DateTime.Now.ToString();
}

那么为什么我们总是喜欢

protected void Page_Load(object sender, EventArgs e)
{
   Label1.Text = "Hello World; the time is now " + DateTime.Now.ToString();
}

?

c# asp.net .net
1个回答
5
投票

Page_Load事件处理程序将正确处理所有页面控件的创建。每documentation

Page对象调用Page对象上的OnLoad方法,然后递归地为每个子控件执行相同操作,直到加载页面和所有控件。单个控件的Load事件发生在页面的Load事件之后。

使用OnLoad事件方法在控件中设置属性并建立数据库连接。

...这意味着,根据你的例子,Label1.Text可能会被控件的OnLoad事件重置(取决于个别控件的实现;我不知道这是否适用于Label控件,但它将符合文档如果那确实发生了)。

© www.soinside.com 2019 - 2024. All rights reserved.