我是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();
}
?
答案 0 :(得分:5)
Page_Load
事件处理程序将正确处理所有页面控件的创建。根据{{3}}:
Page对象调用Page对象上的OnLoad方法,然后 递归地对每个子控件执行相同的操作,直到页面和 所有控件都已加载。各个控件的Load事件发生 页面的Load事件之后。
使用OnLoad事件方法在控件中设置属性并 建立数据库连接。
...这意味着,根据您的示例,Label1.Text
可能会由于该控件的OnLoad
事件而被重置(取决于单个控件的实现;我不知道{ {1}}控制,但如果确实如此,则将符合文档要求。