哪些是 ASP .Net 服务器控件的事件,它们的顺序与包含页面的事件有何关系?
具体问题是我正在寻找在包含页面的Page_Load事件之前触发的服务器控件内的事件。
关于它们与 Page 事件的关系,至少对于 Init 和 Load:
“虽然 Init 和 Load 在每个控件上都递归发生,但它们以相反的顺序发生。每个子控件的 Init 事件(以及 Unload 事件)发生在为其容器引发相应事件之前(自下而上)。但是容器的加载事件发生在其子控件的加载事件之前(自上而下)。”
这应该会有所帮助:http: //msdn.microsoft.com/en-us/library/ms178472.aspx
我想你正在寻找 PreLoad。
这是一个小问题,因为可以在“Page_Load”事件之后将控件放置在页面内。
在我的一个历史项目中,我从我的类“PageEx:System.Web.UI.Page”中派生了所有页面。其中有一个类型为“enum PageStates { PreInit, Init, PostInit, PreLoad, /* etc... */ }”的属性“CurrentState”。比我所有的控件都能够识别页面周期的状态。
ASP.NET 2.0 事件顺序中有一个更长的列表(注意这是针对 2.0 的)。