Asp.Net PostBack ve IsPostBack Kavramları

Merhaba arkadaşlar
Bu yazımda masaüstü uygulamalardan web uygulamalarına geçtikten sonra işlevlerini anlamakta zorlandığım PostBack, IsPostBack kavramlarından bahsedeceğim.

PostBack Nedir?

İstemci bilgisayardan yapılan bir isteğin sunucuda yerine getirilmesi ve istemci bilgisayara gönderilmesi olayı PostBack’tir. PostBack kavramı Asp.Net in çalışma mantığının temelidir. İstemciden sunucuya yapılan istekler, sunucudan istemciye verilen cevaplar..
Şimdi bu kavramları çok bilinen ama bu konunun anlaşılmasında da en etkili örnek olduğunu düşündüğüm DropdownList örneği ile açıklayalım.
Asp.Net sayfamızda bir DropdownList nesnesinin olduğunu düşünün. Bu DropDownList i sayfa yüklenirken veritabanından dolduruyoruz. Veritabanından DropDownList doldurma yazısı için bakınız: Veritabanından DropDownList Doldurmak
[csharp]
protected void Page_Load(object sender, EventArgs e)
{
ddlIl.DataSource = Data.Illertbls;
ddlIl.DataTextField = “Il”;
ddlIl.DataValueField = “id”;
ddlIl.DataBind();
}
[/csharp]

Uygulamamızı çalıştırdık İller listesi ddlIl isimli DropDownList’e doldu. Peki ya sonra ? Sayfada üyelik kaydı yaptığımızı varsayalım bilgileri girdik kayıt butonuna bastık bilgiler veritabanına gitti, eklendi bize başarılı sonucu geldi ve sayfa PostBack oldu. Son durumda ddlIl DropDownList inin içeriği bir öncekiyle aynı kalacak sanıyorsanız yanılıyorsunuz. Sayfa yüklenirken DropDownList in dolması için yazdığımız yukarıdaki kod bloğu tekrar çalışacak ve veritabanındaki illler DropDownListe tekrar eklenecek. Çünkü DropdownList kontrolümüzün viewstate durumu aktif. Bu durumun önüne geçmek için IspostBack özelliği kullanılır.

IsPostBack Özelliği ve Kullanımı

Yukarıda yaşadığımız sorun,Page_Load altında bulunan kodların sayfa ilk kez mi yüklenir yoksa postback sonucu yeniden mi yükleniyor kontrolü yapamadan çalışmasıydı. Bu durumda DropDownList kontrolsüz bir biçinde tekrar tekrar dolduruluyordu. İşte Ispostback bize sayfanın ilk kez yüklenmesi ile sonradan postback işlemi sonucunda yüklenmesi arasındaki farkı bilme şansı verir. Yukarıdaki kod blogunu aşağıdaki gibi tekrar yazarsak DropDownList yalnızca sayfanın açılışında doldurulur.

 

 

Soru ve görüşleriniz için yorum yapabilirsiniz. Kolay gelsin .. 🙂

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir