我对ASP.NET非常陌生,在击败a few problems之后,我想知道我做错了什么(我有这样做的坏习惯)。我有兴趣了解ASP.NET的运行方式。
我的问题是:我在哪里可以找到文件来指导我决定在哪里进行哪些处理?
作为一些具体的例子(我对这些问题的答案感兴趣,但我更倾向于指出一个提供更一般答案的资源):
Page_Load
做什么处理?Load
事件做什么处理?Page_Unload
可以做些什么?编辑:this question也可能对某些人有用。
各个人发布的链接确实非常有用 - ASP.NET页面生命周期对于grok和master来说并不总是很容易!
关于建议 - 我建议更喜欢被覆盖的方法与“魔法”附加的方法,例如:更喜欢
protected override void OnLoad(EventArgs e)
过了
protected void Page_Load(object sender, EventArgs e)
为什么?简单:在重写的方法中,您可以指定自己是否以及何时调用基本方法:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
// your stuff
}
要么:
protected override void OnLoad(EventArgs e)
{
// your stuff
base.OnLoad(e);
}
甚至:
protected override void OnLoad(EventArgs e)
{
// some of your stuff
base.OnLoad(e);
// the rest of your stuff
}
甚至:
protected override void OnLoad(EventArgs e)
{
// your stuff
// not call the base.OnLoad at all
}
您在Page_Load()版本中没有这种灵活性。
渣
您需要学习的第一件事就是能够理解您刚才提出的问题:PAGE LIFE CYCLE。有时这是一个婊子,特别是ViewState部分。
•我应该在Page_Load中进行哪些处理?
•我应该对Load事件进行哪些处理? = Page_load
•我在Page_Unload中可以做什么?清理
•完成任务的顺序是什么? PAGE LIFE CYCLE
•每个事件何时被解雇? PAGE LIFE CYCLE
编辑:图片来源:http://www.eggheadcafe.com/articles/20051227.asp
更多信息:http://www.codeproject.com/KB/aspnet/PageLifeCycle.aspx
这里有一些很好的链接可以帮助您入门。了解ASP.NET生命周期如何组合在一起对于理解代码如何与之交互至关重要。
ASP.NET Page Life Cycle Overview:
当ASP.NET页面运行时,页面将经历一个生命周期,在该生命周期中,页面执行一系列处理步骤。这些包括初始化,实例化控件,恢复和维护状态,运行事件处理程序代码和呈现。了解页面生命周期非常重要,这样您就可以在适当的生命周期阶段编写代码来实现您想要的效果。此外,如果您开发自定义控件,则必须熟悉页面生命周期才能正确初始化控件,使用视图状态数据填充控件属性,以及运行任何控件行为代码。 (控件的生命周期基于页面生命周期,但页面为控件引发的事件多于单独的ASP.NET页面可用的事件。)
当页面请求发送到Web服务器时,无论是通过提交还是位置更改,页面都会在创建和处理期间通过一系列事件运行。当我们尝试构建ASP.NET页面并且不考虑这个执行周期时,我们可能会给自己带来很多麻烦。但是,在正确使用和操作时,页面的执行周期可以是一个有效且强大的工具。许多开发人员意识到理解发生的事情以及发生的时间对于有效编写ASP.NET页面或用户控件至关重要。因此,让我们详细研究ASP.NET页面的十个事件,从创建到处理。我们还将了解如何利用这些事件来植入我们自己的自定义代码。
我肯定会建议你读这个:
http://www.west-wind.com/presentations/howaspnetworks/howaspnetworks.asp
如果你是asp.net的新手,你将无法获得所有这些,但实际上,我还没有找到关于来自ms文档或任何ms员工博客的主题的详细文档。
我做得很艰苦,并遵循我可以使用反汇编代码的每条路径,但那个人真的花时间写它。
基本上尝试在Page_Load
中做,如果这不起作用,请在Page_Init
或Page_Render
中尝试。通常其中一个工作:)这是科学的方法。