ASP .Net服务器控件事件顺序
时间:2020-03-06 14:40:15 来源:igfitidea点击:
ASP .Net服务器控件的事件是什么?它们的顺序与包含页面的事件有什么关系?
具体的问题是我正在寻找服务器控件内的一个事件,该事件在包含页面的Page_Load事件之前触发。
解决方案
这应该会有所帮助:http://msdn.microsoft.com/en-us/library/ms178472.aspx
我想我们正在寻找PreLoad。
这是一个小问题,因为可以在" Page_Load"事件之后将控件放置在页面内。
在我的历史性项目中,我从类" PageEx:System.Web.UI.Page"派生了所有页面。其中具有"枚举PageStates {PreInit,Init,PostInit,PreLoad,/ *等... * /}"类型的属性" CurrentState"。我所有的控件都无法识别页面循环状态。
签出此页面。它会让我们知道什么事件会在何时触发。看起来我们可以使用PreLoad事件。
关于它们与Page事件的关系,至少对于Init和Load:
"尽管Init和Load都在每个控件上递归发生,但它们以相反的顺序发生。每个子控件的Init事件(以及Unload事件)在容器的相应事件引发之前(从下到上)发生。容器的加载事件发生在其子控件的加载事件之前(自上而下)。"
从http://msdn.microsoft.com/en-us/library/ms178472.aspx
ASP.NET 2.0事件顺序中有更长的列表(请注意,这是针对2.0的)。