应该在ASP.NET页面中完成哪些操作?

BCS*_*BCS 7 asp.net page-lifecycle

我对ASP.NET很陌生,在打了几个问题之后,我想知道我做错了什么(我养成了这样做的坏习惯).我有兴趣了解ASP.NET的运行方式.

我的问题是:我在哪里可以找到文件来指导我决定在哪里进行哪些处理?

作为一些具体的例子(我对这些问题的答案感兴趣,但我更倾向于指出一个提供更一般答案的资源):

  • 我应该做什么处理Page_Load
  • 我应该对Load活动进行什么处理?
  • 有什么怎么办的Page_Unload
  • 做什么顺序?
  • 每个事件何时被解雇?
  • 什么是页面生命周期?

编辑:这个问题也可能对某些人有用.

Col*_*lin 5

您需要学习的第一件事就是能够理解您刚才提出的问题:PAGE LIFE CYCLE.有时这是一个婊子,特别是ViewState部分.

•我应该在Page_Load中进行哪些处理?

•我应该对Load事件进行哪些处理?= Page_load

•我在Page_Unload中可以做什么?清理

•完成任务的顺序是什么?PAGE LIFE CYCLE

•每个事件何时被解雇?PAGE LIFE CYCLE

•页面生命周期是什么?替代文字http://www.eggheadcafe.com/articles/o_aspNet_Page_LifeCycle.jpg

编辑:图片来源:http://www.eggheadcafe.com/articles/20051227.asp

更多信息:http://www.codeproject.com/KB/aspnet/PageLifeCycle.aspx


mar*_*c_s 5

各个人发布的链接确实非常有用 - ASP.NET页面生命周期对于grok和master来说并不总是很容易!

关于建议的重点 - 我建议更喜欢被覆盖的方法与"魔法"附加的方法,例如更喜欢

protected override void OnLoad(EventArgs e)
Run Code Online (Sandbox Code Playgroud)

过了

protected void Page_Load(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)

为什么?简单:在重写的方法中,您可以指定自己是否以及何时调用基本方法:

protected override void OnLoad(EventArgs e)
{ 
    base.OnLoad(e);
    // your stuff
}
Run Code Online (Sandbox Code Playgroud)

要么:

protected override void OnLoad(EventArgs e)
{ 
    // your stuff
    base.OnLoad(e);
}
Run Code Online (Sandbox Code Playgroud)

甚至:

protected override void OnLoad(EventArgs e)
{ 
    // some of your stuff
    base.OnLoad(e);
    // the rest of your stuff
}
Run Code Online (Sandbox Code Playgroud)

甚至:

protected override void OnLoad(EventArgs e)
{ 
    // your stuff
    // not call the base.OnLoad at all
}
Run Code Online (Sandbox Code Playgroud)

您在Page_Load()版本中没有这种灵活性.