Viewstate
Bu madde hiçbir kaynak içermemektedir. (Temmuz 2024) (Bu şablonun nasıl ve ne zaman kaldırılması gerektiğini öğrenin) |
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]- Understanding ASP.NET ViewState27 Aralık 2007 tarihinde Wayback Machine sitesinde arşivlendi. - Scott Mitchell (İngilizce)
- ViewState: All You Wanted to Know - Paul Wilson (İngilizce)
- The ASP.NET View State - Dino Esposito (İngilizce)
- ViewState'in Kod Yapısı ve ViewState Decode26 Eylül 2012 tarihinde Wayback Machine sitesinde arşivlendi. - Ahmet Çığşar