Viewstate

Vikipedi, özgür ansiklopedi

ASP.NET teknolojisinin üretilen bir web sayfasına ait vaziyeti (state) kodlanmış olarak sakladığı görünmez form elemanı.

<input type="hidden" name="__VIEWSTATE" value="dDwxODY0MDMxMTMxO3Q8O2w8aTwxPjs+O2w8dDw7bDxpPDU+O2k8Nz47aTw5Pjtp2w8dDw7bDx..." />

Bu form elemanı, sayfanın kendi kendine postalanması sürecinde (PostBack) ve sonrasında rol âlır. Yeniden yüklenen sayfada kontroller, bir önceki vaziyetlerini korumuş olurlar. Aradaki bilgi transferi ViewState elemanı ile olur.

ViewState öntanımlı olarak aktiftir. Sayfa genelinde ViewState tutulmasını engellemek için ASP.NET tepe yönergeleri kullanılır:

<%@ Page EnableViewState="false" %>

ViewState kontrol bazında da kapatılabilir:

<asp:label enableViewState="false" runat="server" />

Kritik[değiştir | kaynağı değiştir]

ViewState esasında, Microsoft'un, Web uygulamalarını Visual Basic Form uygulamaları tarzında çalıştırma maksadına hizmet etmektedir. Sayfadaki kontroller arttıkça boyutunun kontrolsüz biçimde büyümesi ve bundan dolayı talep esnasında problemlere neden olması en önemli handikapıdır.

Günümüzde sayfa vaziyeti değişmeden sunucu tabanlı görevler ifa etmek için AJAX yaklaşımı yaygın olarak kullanılmaktadır. Nitekim Microsoft da ASP.NET için AJAX eklentileri çıkararak bu eğilime uymuştur.

Son olarak ASP.NET için MVC deseninin uygulanmasıyla, ViewState elemanının ve PostBack temelli Web Formları mimarisinin ASP.NET dünyasında en azından tek alternatif olmayacağını söyleyebiliriz.

Dış bağlantılar[değiştir | kaynağı değiştir]