2009-07-16 28 views
4

我們如何才能在ASP.NET中對視圖狀態和隱藏字段做出決定。在asp.net中查看狀態與隱藏字段

在我的情況下,我正在使用頁面交叉回發和通過使用第一頁的公共屬性,我訪問他們在第二aspx頁面。

在第二個aspx頁面中獲取公共變量後,我需要訪問第二頁中的這些值,但只要我在第二頁中回發,我無法找到這些值。

因此,要解決這個問題,我有兩個解決方案或者在第二頁使用viewstate或在第二頁使用隱藏字段。

我無法決定使用哪一個?

回答

8

該方法完全相同。唯一的區別應該是存儲信息的大小(viewstate使用[有時加密] base64,而隱藏字段使用純文本,除非你自己編碼它們),viewstate允許你確保數據沒有被篡改,這要歸功於默認驗證已經到位。

+0

非常感謝您 – 2009-07-16 09:37:26

0

如果數據很小並且想要根據某些客戶端行爲來操作該值,則隱藏字段將很有用。

0

在asp.net視圖狀態和隱藏字段的差異

http://royalarun.blogspot.in/2012/03/difference-between-view-state-and.html

二者都用於存儲在asp.net回發期間的值,但

在View狀態 - 無法通過客戶端代碼(即Java腳本)更改值。
隱藏字段 - 可能通過客戶端代碼更改值。

視圖狀態 - 您可以將喜歡的DataTable和數據集多個值
隱藏字段 - 您可以存儲比隱藏字段一個值,通過序列化它。

視圖狀態數據進行加密和隱藏字段是不加密的