2008-11-12 24 views
7

olarak ayarlanmış olsa bile __VIEWSTATE gizli alanı neden oluşturuluyor? EnableViewState = "false" değerini sayfa düzeyinde ayarladığım halde __VIEWSTATE alanının oluşturulduğunu gördüm. Form öğesi için runat = "server" etiketini kaldırırsam bu alan oluşturulmaz. Birisi bunu açıklayabilir mi lütfen?EnableViewState öğesi false

cevap

17

__VIEWSTATE alanı, isteğe bağlı olmayan kontrol durumunu saklamak için de kullanılır. Ayrıca, hatalı konumlamamışsam (ve varsayılan olarak etkinleştirme etkinleştirilmişse), görüntüleme durumunda bulunan bilgiler geri gönderimi doğrulamak için kullanılır. Bu nedenle, runat = "server" ile formunuz olduğu sürece, bir gösterim alanına sahip olursunuz. Ancak, tüm görünümleri devre dışı bırakırsanız çok daha küçük bir alan boyutu görmeniz gerekir.

+0

Bu doğru, ViewState ayrıca bir PostBack'i sayfaya doğrulamak için de kullanılır. –

+2

Yep, denetim durumu kullanılmasa bile, ViewState gizli alanı yalnızca IsPostBack özelliği –

+0

için oluşturulur. ViewState'ın boş bir değere sahip olması olasıdır Burada cevabı buraya gönderdim: http://stackoverflow.com/questions/2432972/tam-remove-viewstate-için-özel sayfalar/5864040 # 5864040 – Arjang

0

İpucu: Asp.net'de, __VIEWSTATE öğesini tamamen dışa aktarmanız gerekiyorsa, Page.Render yöntemini geçersiz kılın, sayfayı bir dizeye dönüştürün ve __VIEWSTATE metnini dışarı çıkarın.

+3

Teşekkürler. Bu ayrıca 'runat =" server "' işlevini '

' elemanından kaldırarak da yapılabilir. –

İlgili konular