我是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();
}
?
Page_Load
事件处理程序将正确处理所有页面控件的创建。每documentation:
Page对象调用Page对象上的OnLoad方法,然后递归地为每个子控件执行相同操作,直到加载页面和所有控件。单个控件的Load事件发生在页面的Load事件之后。
使用OnLoad事件方法在控件中设置属性并建立数据库连接。
...这意味着,根据你的例子,Label1.Text
可能会被控件的OnLoad
事件重置(取决于个别控件的实现;我不知道这是否适用于Label
控件,但它将符合文档如果那确实发生了)。