ASP.NET 2.0 Page Life Cycle
Menghafal page life cycle bukan merupakan hal yang mudah (setidaknya untuk saya), tapi beruntung ada artikel ini di codeproject yang mencoba memberikan ide bagaimana cara menghapal page life cycle melalui singkatan. Di artikel tersebut, page life cycle disingkat menjadi SILVER-U.

S: Start
I: Initialize
L: Load
V: Validate
E: Event handling
R: Render
U: Unload
Start
Pada fase ini properties page di set. Aksi meng-set Master page untuk user tertentu untuk meng-achieve “user preference settings” dapat dilakukan pada fase ini dengan cara menambahkan code pada handler dari event PreInit.
Initialize
Pada fase ini, ID untuk control sudah di generate, namun properties yang lainnya belum ada. Initialization dapat di override dengan menggunakan method OnInit.
Load
Fase ini sangat tepat digunakan untuk memanggil functions dan perform some logic. Pada fase ini control diisi data-data yang diperoleh dari view state dan control state (thanks to LoadViewState event dan LoadPostData event). Penambahan code dapat juga dilakukan pada handler dari event OnLoad karena pada fase inilah event tersebut dibangkitkan.
Validate
Control di validasi dan terdapat event Validate yang dapat digunakan.
Event Handling
Event handling server control terjadi pada fase ini. Modifikasi final dapat dilakukan dengan memanfaatkan event OnPreRender. Event SaveViewState digunakan untuk menyimpan value pada view state object. (note: event SaveViewState hanya akan menyimpan value pada view state object bukan pada control, karena modifikasi final pada control terjadi pada event OnPreRender).
Render
Method Render menggunakan objek HtmlTextWriter sebagai parameter. Objek tersebut digunakan untuk meng-output HTML untuk ditampilkan di browser. Pada fase ini, page akan “memerintahkan” semua object yang dimilikinya untuk me-render dirinya sendiri menjadi HTML.
Unload
Setelah HTML di render, semua object di-disposed yang diawali dengan pemanggilan event OnUnload pada setiap control di page yang kemudian pemanggilan event OnUnload pada page itu sendiri. Pada fase ini aman untuk men-dispose semua object yang masih tersisa (eg: open database connections dan open file streams).