2010-08-27 44 views
0

我知道視圖狀態方法僅限於特定頁面。當我們導航到另一個頁面時,信息就會丟失。除此限制外,視圖狀態還有其他限制嗎?視圖狀態方法的侷限性是什麼?

+3

這不是一個限制。它完全按照它的設計執行。 – 2010-08-27 11:30:00

回答

1

我不知道這些是否完全是「限制」,但他們肯定是你應該避免查看某些事情的原因。

  1. ViewState中的所有數據都隨每個頁面請求一起上傳和下載。
  2. ViewState中的數據不安全,因爲它可用於客戶端。
  3. viewstate中的所有項都必須是可序列化的。
  4. 不能存儲服務器端資源在ViewState中(想想數據庫連接等),因爲每個請求的項目產生了新的(他們是不相同的對象)

什麼是你想使用的ViewState呢?

+0

沒有必要每次信息被上傳和下載時,我們都可以在頁面循環的整個階段結束時跟蹤視圖狀態。 – 2010-08-27 11:38:17

+0

我們還可以通過配置web.config文件來保護數據,通過編寫encryption =「true」 – 2010-08-27 11:39:18

+1

@Nishant,這就是爲什麼我說「ViewState中的所有數據都是通過evey頁面請求上傳和下載的。」如果它不在ViewState中,那麼它不在VIewState中。 – tster 2010-08-27 11:39:31

0

唯一的真正的限制是視圖狀態爆炸頁面大小(如果不注意,最高可達數兆字節)。您放入視圖狀態的內容越多,您爲自己所做的操作越方便,對用戶而言變得越不方便,特別是那些使用撥號連接的用戶。

如果網絡組件配置爲限制提交大小,則可能存在一些網絡問題。我聽說過有關代理服務器對隱藏字段(存儲視圖狀態的地方)施加限制的情況。

相關問題