Search

ASP.NET ile ViewState



0 yorum

ASP.NET ile ViewState

Klasik internet çalışma prensiplerinde sayfa PostBack olduğunda formlardaki veriler sıfırlanır. Ancak ASP.NET ViewState yapısı sayesinde, PostBack olması durumunda bile web sayfalarındaki kontrollerin taşıdıkları verileri saklar.
ViewState içeriğinin kullanıcılar tarafından görülme olasılığı yoktur. Viewstate içeriği sayfada gizli olarak saklanır.
Pekala ViewState'lerin ömrü ne kadardır?

ViewState üzerinde tutulan değerler bulunduğu sayfada saklandığı için, ViewState'lerin ömrü sayfanın ömrü kadardır. Buradan ViewState ile saklanan değerlerin başka bir sayfaya taşınamayacağı sonucuna ulaşmış oluruz.
ViewState sayfa üzerindeki bilgileri sakladığı için sayfanın boyutunda bir artış meydana geliyor ve bu durumda performans kaybına sebep olabiliyor. Bazı sayfalarda durum bilgisinin saklanmasına gerek duyulmayabilir. İstediğimiz herhangi bir sayfada ViewState özelliğini kapatabiliriz.

ViewState özelliğini kontrol bazlı kapatmak

EnableViewState = "False"

özelliğini False yaparak, o kontrol üzerinde ViewState kullanılmasını önlemiş oluruz.
ViewState özelliğini sayfa bazlı durdurmak istersek aşağıdaki kodları yazarız.

ViewState özelliğini sayfa bazlı kapatmak

<%@ Page Language="C#" ... EnableViewState = "False" %>

bu şekilde sayfa üzerinde ViewState kullanılmasını önlemiş oluruz.
Son olarak ViewState özelliğini tüm uygulamadan kaldırmak istersek aşağıdaki kodları web.config içine yazarız.

ViewState özelliğini uygulama bazlı kapatmak







Artık görmüş oluyoruz ki ViewState kullanımı tamamen bize kalmıştır. Ben genellikle kullanmayı tercih ediyorum.

ViewState Değerlerine Ulaşmak

Bazı durumlarda ViewState değerlerine ulaşmak isteyebiliriz. ViewState değerlerine ulaşmak için yine ViewState üzerinde saklanan kendi değişkenlerimizi oluşturmalıyız. Böylece ViewState yapısı içine bir ajan göndermiş olduğumuzu düşünebilirsiniz. Ajanımız sayesinde diğer ViewState'ler hakkında bilgi sahibi olabileceğiz.

ViewState Değişkeni Oluşturmak(C#):

ViewState ["ornekisim"] = deger; 

Burada gördüğümüz değer yerine ViewState'ini almak istediğimiz kontrolu yazıyoruz. Örnek olarak TextBox.Text yazarak bir textbox içindeki değere ulaşabiliriz.

0 yorum:

Yorum Gönder

Check Page Rank
DMCA.com