ASP.NET中的PreLoad和Load事件

时间:2019-02-15 01:07:07

标签: c# asp.net .net

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

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

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();
}

1 个答案:

答案 0 :(得分:5)

Page_Load事件处理程序将正确处理所有页面控件的创建。根据{{​​3}}:

  

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

     

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

...这意味着,根据您的示例,Label1.Text可能会由于该控件的OnLoad事件而被重置(取决于单个控件的实现;我不知道{ {1}}控制,但如果确实如此,则将符合文档要求。