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的)。