IsPostBack Kullanımı ve PostBack Kavramı


Twitter'da Paylaş Favorilerime Ekle

Sayfanın PostBack Olması Ne Demektir?

Asp.Net komutları sunucu tarafında çalışan kodlardır. Bir asp.net sayfasına istekte bulunulduğunda istek sunucuya ulaşır ve sunucuda sayfa oluşturularak html çıktısı istemciye gönderilir.

Ardından kullanıcı bir butona tıklayarak veya benzeri bir olay gerçekleştirerek işlem yapmak isterse, sayfa tekrar sunucuya gönderilir. 

İşlemlerin yapılması için sayfanın sunucuya geri gönderilmesine postback işlemi denir.

Bazı durumlarda sayfanın ilk kez mi çağrıldığı yoksa sunucuya geri mi gönderildiğini bilmek gerekebilir. Bunu anlamak için Page sınıfına ait IsPostBack özelliği kullanılır.

Örnek: IsPostBack özelliği ile ilgili en çok kullanılan örnek şöyledir: Sayfamızda bir adet listBox kontrolü bulunsun. Page_Load olayında bu kontrole eleman ekliyor olalım. 

protected void Page_Load(object sender, EventArgs e)

{

ListBox1.Items.Add("Trekking");

ListBox1.Items.Add("Motorsiklet");

}

Yukarıdaki gibi bir kullanımda, sayfa sunucuya her gönderildiğinde elemanlar tekrar eklenecektir. Yani sayfa ilk çağrıldığında ListBox1'e iki eleman eklenir. Ardından bir butona tıklanıp sayfa postback olduğunda bu iki eleman tekrar eklenir.

Bunun önüne geçmek için;

protected void Page_Load(object sender, EventArgs e)

{

if( !Page.IsPostBack )

{

  ListBox1.Items.Add("Trekking");

  ListBox1.Items.Add("Motorsiklet");

}

}

şeklinde kullanabiliriz. Buradaki Page.IsPostBack ifadesi "sayfa sunucuya geri gönderilmiş ise" anlamına gelir. Başına ! işareti konarak "sayfa postback değilse, yani sayfa ilk kez çağrılıyor ise" anlamına gelir.

Başka bir örnekte şunu yapalım. Sayfa ilk oluşturulduğunda rastgele bir sayı oluşturulup label1 içine yazılsın. Sayfaya yapılan yeni isteklerde bu işlem gerçekleşirken, sayfa postback olduğunda tekrar edilmesin yani ilk tutulan sayı orada kalsın.

if( !IsPostBack )
{
    Random nesne1 = new Random();
    int sayi = nesne1.Next(10000, 99999);
    Label1.Text = sayi.ToString();
}
Yukarıdaki örnekte de gördüğünüz gibi Page sınıfı belirtilmeden de IsPostBack metodunu kullanabiliriz.
ispostback ne işe yarar, ispostback nasıl kullanılır, asp.net sayfa her yüklendiğinde yapmasın, sayfa sadece ilk yüklendiğinde yapılsın, IsPostBack example tutorial sample

KONU İLE İLGİLİ ÖRNEKLER