09 December 2016

ASP.Net ViewState

ViewState verileri saklamak için kullanılan yöntemlerden biridir. Default olarak true durumdadır. Gerektiğinde ViewState pasif hâle getirilebilir. Tüm kontrollerle ilgili değerleri Base64 olarak kodlanmış tek bir string halinde ViewState isimli bir gizli input kontrolünde tutar.

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2MTY2ODcyMjlkZP64KKG49w0QzZIZTl" />

Her sayfada farklı ViewState kullanılır. View State kontrolümüz gittikçe artar ve ciddi performans sıkıntılarına sebep olur. Üstelik aspx sayfamızın içinde bulunan bir kontrol olduğu için hem post back hem de request süresini uzatır. Her ne kadar bir çok yerden kolaylık sağlasa da, bazı durumlarda, özellikle boyutunun çok büyüdüğü anlarda ViewState’in kapatılması gerekebilir.

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button"
 EnableViewState="False" />

Tüm sitede ViewState özelliğinin kapatılması için ise web.config dosyasının içine şu kod yazılır;

 ..
 <system.web>
 <pages enableViewState="false"></pages>
 ...

Ya da sayfa bazında kapatılabilir:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2.Default" EnableViewState="False" %>

Trackbacks

  1. […] ViewStat (Görünüm Durumu) […]