S
Sally
The basic life cycle is (hopefully I am correct):
OnInit
LoadViewState
LoadPostBackData* (loads controls with postback data)
OnLoad (form load)
RaisePostDataChangedEvent* (controls raise data change event
here)
RaisePostBackEvent* (controls raise postback events here)
OnPreRender
SaveViewState
Render
OnUnload
*only on postbacks
But what happens when there are children?
For OnInit, you cannot assume that any of order that the
children/parents are created (I am guessing that means that their
constructors haven't even been called yet). There are probably other
conditions. Anyone want to help and put the following in order?
base()
child()
base.CreateChildControls()
chld.CreateChildControls()
base.OnInit
chld.OnInit
base.LoadViewState
chld.LoadViewState
base.LoadPostBackData* (loads controls with postback data)
chld.LoadPostBackData* (loads controls with postback data)
base.OnLoad (form load)
chld.OnLoad (form load)
base.RaisePostDataChangedEvent* (controls raise data change
event here)
chld.RaisePostDataChangedEvent* (controls raise data change
event here)
base.RaisePostBackEvent* (controls raise postback events here)
chld.RaisePostBackEvent* (controls raise postback events here)
base.OnPreRender
chld.OnPreRender
base.SaveViewState
chld.SaveViewState
base.Render
chld.Render
base.OnUnload
chld.OnUnload
OnInit
LoadViewState
LoadPostBackData* (loads controls with postback data)
OnLoad (form load)
RaisePostDataChangedEvent* (controls raise data change event
here)
RaisePostBackEvent* (controls raise postback events here)
OnPreRender
SaveViewState
Render
OnUnload
*only on postbacks
But what happens when there are children?
For OnInit, you cannot assume that any of order that the
children/parents are created (I am guessing that means that their
constructors haven't even been called yet). There are probably other
conditions. Anyone want to help and put the following in order?
base()
child()
base.CreateChildControls()
chld.CreateChildControls()
base.OnInit
chld.OnInit
base.LoadViewState
chld.LoadViewState
base.LoadPostBackData* (loads controls with postback data)
chld.LoadPostBackData* (loads controls with postback data)
base.OnLoad (form load)
chld.OnLoad (form load)
base.RaisePostDataChangedEvent* (controls raise data change
event here)
chld.RaisePostDataChangedEvent* (controls raise data change
event here)
base.RaisePostBackEvent* (controls raise postback events here)
chld.RaisePostBackEvent* (controls raise postback events here)
base.OnPreRender
chld.OnPreRender
base.SaveViewState
chld.SaveViewState
base.Render
chld.Render
base.OnUnload
chld.OnUnload