Page_Unload... always

  • Thread starter Thread starter Robert Scheer
  • Start date Start date
R

Robert Scheer

Hi.

Debugging one of my pages I noticed that everytime I call the page,
the first event to run is Page_Load and after it the Page_Unload. If I
postback to the page the Page_Unload runs again. Shouldn't the
Page_Unload event runs only when I close the page or submit the page?
I can't understand why the Unload event runs when I load the page !!

Thanks,

Robert Scheer
 
Page_Unload event happens server-side and has nothing to do with closing the
page. Page lifecycle is as follows per request:

1. Instantiate
2. Initialize
3. TrackViewState
4. LoadViewState (postback)
5. Load postback data (postback, IPostBackDatahandler.LoadPostdata)
6. Load
7. Load postback data for dynamical controls added on Page_Load
8. Raise Changed Events (postback,
IPostBackDatahandler.RaisePostDataChanged)
9. Raise postback event (postback, IPostBackEventHandler.RaisePostBackEvent)
10.PreRender
11. SaveViewState
12. Render
13. Unload
14. Dispose

As you can see Unload phase happens as 13th on the list. Important is that
these sequences happen on every request. Those that have (postback) happen
only on postbacks, but Page_Unload happens on every request. Here the Page
performs cleanup.

Reason is that Page class is created on every request to serve requests and
for example inital request and postbacks are actually server by different
class instances. Therefore Page_Unload happens on every request.

--
Teemu Keiski
MCP, Designer/Developer
Mansoft tietotekniikka Oy
http://www.mansoft.fi

AspInsiders Member, www.aspinsiders.com
ASP.NET Forums Moderator, www.asp.net
AspAlliance Columnist, www.aspalliance.com
 
Back
Top