Klasik ASP’de bu süreci programı geliştiren değerlendiriyordu, yani sunucu her bir sayfayı ayrı ayrı değerlendiriyordu. ASP.NET, her bir Web Formu sunduğunda sabit bir şekilde yürütülen işlev üyelerinin (yöntemlerini) tekdüze olan bir serisini tanıtan yapılandırılmış olay akışı döngüsünü devreye sokarak bunu değiştirdi.
Olayları değerlendiren söz konusu işlev üyeleri, aşağıda yer alan Tablo 1’de , çalıştıkları sıraya göre listelenmiş ve tanımlanmışlardır:
Tablo 1’de yer alan işlevlerden, kullanılma sıklığı bakımından diğerlerine açık ara fark atan işlev üyesi OnLoad() işlev üyesidir. Aslında, Web Formu ya da Web kullanıcı denetimi gibi herhangi bir tür ASP.NET Web öğesi yarattığınızda, Visual Studio .NET bu işlev üyesini, sizing yerinize kendiliğinden class’ın arkasında koda ekler, bununla birlikte sizing de diğer işlev üyelerinin çoğunluğunu kendiniz elle eklemelisiniz (eskisinin üzerine yazmalısınız). Bu işlev üyesinde Web Formundaki denetimlerin var olan değerlerine ulaşılabilir ve kod bunlar doğrudan doğruya etkileşim kurabilir. Size, dinamik olarak yaratılan denetimlerle bağlantılı çok önemli birkaç gözlemimi aktarayım.
| İşlev Üyesi | Tanımı |
| OnInit() | İlk olayı değerlendirir ve Web Formu ile içerdiği tüm denetimlere birer harf değeri tayin eder. |
| LoadViewState() | Tüm sunucu denetimlerindeki ViewState yani durum görüntüleme özelliği, müşteriden alınan denetimlerin durumlarını yansıtmak üzere güncellenir. ASP.NET her bir denetimin ViewState ayarını, hangi denetim değerlerinin değiştirildiğini saptamak için kullanır. |
| LoadPostData() | Gelen form verilerini işler. |
| OnLoad() | Bu, tüm döngüde en sık kullanılan işlev üyesidir. Denetimler bununla yaratılır, harf değerleri tayin edilir ve durum eski hale getirilir. |
| RaisePostDataChangedEvent() | Bir denetim durumu değişince, her bir denetime ilişkin olaylar veri değişikliğiyle birlikte etkinleştirilir. Olaylar bu komutla işlerlik kazanır. |
| RaisePostBackEvent() | Geriye dönüşe neden olan olayı işletir. | OnPreRender() | Bu, denetimlerle etkileşim kurmak ve veri işlenip de müşteriye gönderilmeden önce veri oluşturmak için son fırsattır. |
| SaveViewState() | Tüm denetimlerin durumu, gizli denetimde depolanan şifrelenmiş ViewState sabitinde korunur ve müşteriye saklanır. | Render() | Web Formunun çıktısı müşteriye gönderilmek üzere işleme konur. |
| Dispose() | Son temizleme fırsatı. |
| OnUnLoad() | Denetimlere yönelik tüm sunucu-taraflı göndermeler ve sayfanın kendisi bellekten çıkarılır. |
Olayları ancak ya OnInit() işlev üyesindeki ya da OnLoad() işlev üyesindeki denetimlere bağlayabilirsiniz; eğer denetim, Web Formundaki veriden bağımsızsa o zaman tek seçeneğiniz OnLoad() yöntemidir.
Yürütme sürecinin istediğiniz noktasında denetimleri dinamik olarak yaratabilir ve olayları bu denetimlere bağlayabilirsiniz. Bununla birlikte, olayları ya OnInit() işlev üyesindeki ya da OnLoad() işlev üyesindeki denetimlere bağlayabilirsiniz. Eğer olaylar, olaylar döngüsünün herhangi bir başka noktasında birbirleriyle çatışırlarsa, bu durum kaldırılmanın bir istisnası olması sonucunu doğurmayacaktır ama denetim üzerinde bir etkisi de olmayacaktır. Aşağıdaki kod parçası, bir olayı OnInit() işlevindeki denetime bağlamının örneğini veriyor:
- // OnInit() yonteminin uzerine yazma..
override protected void OnInit(EventArgs e)
{
// Web Formundaki verilere dayanmayan
// denetimleri dinamik olarak yarat.
Button sirketAyrintiTusu = new Button();
sirketAyrintiTusu.Click += new EventHandler(this.MuhasebeAyrintilariGoster);
{



Kaynak : 