Postback esnasında değerler nasıl saklanır ? Viewstate nedir ?

Postback sorusu Asp.Net ile ilgili konuların en başında gelir. Postback işlemi gerçekleştiğinde (örn : bir formdaki butona tıklandığında) code-behind içerisinde yapılandırılan değişken değerler istemci taraflı sistem belleğinden (the memory of the client system) silinir. Bu konsept Windows-based (Windows tabanlı)  uygulamaların işleyişinden farklı çalışır. Windows tabanlı uygulamalarda oluşturulan değişken değerler serbest bırakılana kadar yada garbage collector (çöp toplayıcı) tarafından silinene kadar yada belli kodlar tarafından imha edilene ve sonlandırılana kadar bellekte kalmaya devam ederler.

Ancak web uygulamalarında değişken değerler kolayca yok olur. Fakat bunları saklamakta oldukça basittir. Viewstate nesnesi kullanarak kolayca saklayabiliriz. Postback çağırılmadan önce değişken değerler Viewstate nesnesinde saklanır. İstemci sayfada saklanan değer geri alınabilir. Aşağıdaki örnek kodda görebilrsiniz.

//Postback olmadan önce değer viewstate içinde saklanır
ViewState(“SomeVar”) = txtFirstName.text;

//Postback olduktan sonra saklanan değer çağrılır
String strFirstName = ViewState(“SomeVar”).ToString();

Burada dikkat edilmesi gereken husus, viewstate içerisinde saklanan değer Asp.Net tarafından gizli bir değişken şeklinde
diğer sayfalara taşınır. İdeal olan kullanım, datasetler gibi büyük veriler, viewstate içerisinde saklanmamaklıdır. Çünkü performansı düşürürler.

Kolay gelsin…