C# Web App – IsPostBack
Bir web uygulaması geliştirdiğim şu günlerde hazır vakit varken bu uygulamada şu ana gelene kadar karşılaştığım minik mantık hatalarıyla harcadığım zaman sonucunda uzunca bir süre unutmayacağımı ve sizlerin de böyle hatalarla zaman harcamak istemediğinizi düşünerek sizlerle paylaşmak istedim.
Bugün konuyla ilgil ilk olarak aklıma gelen şu oldu:
Bir web uygulamasına başlarken ile olarak yerleştirdiğimiz buttonlar, linkler vs tıklandığında ne yapması gerektiğini onun event bölümüne yazıyoruz bilindiği üzere. Ancak benim pas geçtiğim bir konu vardı o da şu ki; web uygulamalarında, normal windows aplikasyonlarından farklı olarak unutulmaması gereken bir nokta vardı: “Load event”. Pencere yüklenirken gerçekleştirilen eylemlerin yazıldığı bölüm olan load event windows uygulamalarında da var ancak orada sadece windows uygulaması “ilk” kez açıldığında bu event işleniyor. Web uygulamalarında ise bu load eventi hem sayfa ilk açıldığında hem de sayfada yapılan her olaydan önce bu load olayı çalışıyor. Yani örneğin bir bir ekle adında buton yarattık ve bu butonun tıklandığında gerçekleşmesi istenen olayı yazdık. Ancak onun aksi bir ifadeyi load bölümünde yazdıysak kod istediğimiz şekilde çalışmaz. Bunun için bir kontrol ifadesi koymamız gerekir load eventin içine böylece o control bize bu pencerenin ilk kez mi açıldığını yoksa yenileme işlemi mi yaptığını bildirir. Bunun için kendiniz de bir çok yol deneyebilirsiniz ancak bu iş için bir komut varmış: “IsPostBack”. Bu boolean bir ifade ve eğer bu komutun bulunduğu sayfa ilk kez açılıyorsa false döndürüyor, sayfada yenileme yapılıyorsa yani sayfa güncelleniyorsa o zaman true değer dönüyor. Bunu kendi yazdığım bir örnekle göstereyim:
Burada eğer sayfamız ilk kez açılıyorsa;
if (this.IsPostBack == false) //ilk defa okuyoruz sayfayı…
Hemen altındaki satır olan ReadRecords fonksiyonu çalıştırılacaktır. Aksi takdirde o satır pas geçilip load eventi tamamlanacaktır.
July 14, 2008 - Posted by	numangoceri | c# web application, IsPostBack