ASP.NET

ASP.NET IsPostBack Kullanımı – Web Tasarım & Programlama

ASP.NET’ te oluşturmuş olduğumuz kodlar sunucu tarafında çalışmaktadır. Yani oluşturulmuş bir ASP.NET sayfasına istekte bulunulduğu zaman istek sunucuya ulaşır ve sunucuda işlenerek HTML çıktısı olarak istemciye gönderilir. Formumuzda bulunan Button vb. kontrollere tıklandığında sayfa  yine sunucuya gönderilecektir ve tekrar işlenmesi sağlanacaktır. İşlemlerin yapılması için sayfanın sunucuya gönderilmesi işlemine postback denilmektedir. Bu durum kimi zaman istenmeyen durumlara yol açtığından kontrol edilmesi gerekmektedir. Yani sayfanın ilk defamı yüklendiği yoksa sunucuya geri mi gönderildiğinin kontrol edilmesi gerekebilir. bu konuyla ilgili aşağıdaki örneği inceleyebilirsiniz. Örneğimizde DropDownList yada Listbox kontrolüne Button‘ a tıklandığında aynı verilerin tekrar eklenmesi gibi sorununun nasıl çözülebileceğini göreceksiniz.

Örneğimizde Formumuza bir adet DropDownList ve 1 adet Button ekleyerek DropDownList içine Form yüklendiğinde 2 tane eleman eklenmesini sağlayalım. Bunun için Page_Load event’ ına aşağıdaki kod satırlarını yazalım.

Formumuzu çalıştırdığımızda DropDownList içinde eklediğimiz elemanları göreceğiz.

Xbox Series X/S'te Baldur's Gate 3 İlerlemeleri Kayboluyor

Yukarıdaki gibi bir kullanımda kullanıcı butona her tıkladığında postback işlemi gerçekleşecektir. Tıklama sonucunda DropDownList içine bu iki eleman tekrar eklenecektir. Butona birkaç defa tıklayarak sonucu görelim.

Görüldüğü gibi eklediğimiz elemanlar butona bastıkça tekrar eklenmekte. Bu sorunu çözmek için sayfanın ilk defa mı yüklendiğini yoksa sunucuya tekrar mı gönderildiğini kontrol etmeliyiz. Bu işlem için Page sınıfına ait IsPostBack özelliğini kullanacağız.

Kodlarımızı aşağıdaki gibi düzenleyelim.

Burada if içerisine yazdığımız !IsPostBack ifadesi sayfa postback değilse yani sayfa ilk defa çağrılıyorsa anlamını taşımaktadır. Yani sayfa ilk defa çağrıldığında bu kodlar çalışarak DropDownList içine eklem yapılacak ve daha sonraki Button tıklamalarında eklem işlemi yapılmayacak ve elemanların tekrar etmesi engellenecektir.

 

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu