【问题标题】:ASP .Net server control events orderASP .Net 服务器控制事件顺序
【发布时间】:2008-09-24 15:35:22
【问题描述】:

哪些是 ASP .Net 服务器控件的事件,它们的顺序与包含页面的事件有何关系?

具体的问题是我正在寻找在包含页面的 Page_Load 事件之前触发的服务器控件内的事件。

【问题讨论】:

    标签: .net asp.net events


    【解决方案1】:

    关于它们与页面事件的关系,至少对于 Init 和 Load:

    "虽然 Init 和 Load 都在每个控件上递归发生,但它们以相反的顺序发生。每个子控件的 Init 事件(以及 Unload 事件)发生在为其容器引发相应事件之前(自下而上) . 但是,容器的 Load 事件发生在其子控件的 Load 事件之前(自上而下)。"

    来自http://msdn.microsoft.com/en-us/library/ms178472.aspx

    【讨论】:

      【解决方案2】:

      看看这个page。它会让你知道什么时候触发什么事件。看起来你可以使用PreLoad 事件。

      【讨论】:

        【解决方案3】:

        这应该会有所帮助:http://msdn.microsoft.com/en-us/library/ms178472.aspx

        我想你正在寻找 PreLoad。

        【讨论】:

          【解决方案4】:

          这是一个小问题,因为可以在“Page_Load”事件之后将控件放在页面内。

          在我的一个历史项目中,我从我的类“PageEx:System.Web.UI.Page”派生了所有页面。其中有一个类型为“enum PageStates { PreInit, Init, PostInit, PreLoad, /* etc... */ }”的属性“CurrentState”。比我所有的控件都能够识别页面周期的状态。

          【讨论】:

            【解决方案5】:

            ASP.NET 2.0 Event Order 有一个更长的列表(注意这是针对 2.0 的)。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2011-02-07
              • 2011-07-25
              • 1970-01-01
              • 1970-01-01
              • 2010-11-20
              • 1970-01-01
              • 2016-01-30
              相关资源
              最近更新 更多