ASP.Net篇之ViewSatate

來源:互聯網
上載者:User

ViewState用法:

ViewState是一個儲存頁面狀態的,可以使使用者在使用某動態網頁面時,獲得連續性動作的功能,而不需要重新輸入一遍資料。

與static靜態變數區別在於,如果一個使用者訪問的時候,ViewSatate與static是沒什麼區別,但是如果多個使用者訪問的時候,靜態變數就會一直不斷的更改,導致資料混亂,但ViewState的話,就是每個使用者互不干涉,並且能儲存當前頁面狀態,從而使得一些操作和資料互動更加良好。

用法是:

ViewState可以是一個對象,一個字串、多種資料類型等等。

Person user = new Person();

ViewState["uservs"] = user;   //裝箱操作

 

“每次”需要用到的時候,則是

Person p = ViewState["uservs"] as Person; //拆箱操作

 

需要注意的是,此時的Person類要進行序列化[Serializable]

 

綜合特點是,可以進行對對象的操作,但是僅僅限於是在同一頁面之中。

 

 

網上的參考資料:

viewstate的值儲存在瀏覽器的html代碼中 , 當瀏覽器關閉 , 則值消失 , 即viewstate是在本頁面之內各函數間進行傳值的 , 至於為什麼要使用這種方法 , 因為在一個事件發生之後 , 頁面可能會重新整理 , 如果定義全域變數會被清零 , 所以要使用 viewstate.

 

ViewState: ViewState 屬性提供一個字典對象,用於在對同一頁的多個請求之間保留值。這是頁用來在往返行程之間保留頁和控制項屬性值的預設方法。在處理頁時,頁和控制項的目前狀態會散列為一個字串,並在頁中儲存為一個隱藏欄位或多個隱藏欄位(如果儲存在 ViewState 屬性中的資料量超過了 MaxPageStateFieldLength 屬性中的指定值)。當將頁回傳到伺服器時,頁會在頁初始化階段分析檢視狀態字串,並還原頁中的屬性資訊。也可以使用檢視狀態來儲存值。在預設情況下,ViewState不被加密,並且發生伺服器-用戶端資料轉送。 ViewState的關鍵特性有:儲存於頁面上,與會話且與頁面相關,被序列化,預設發生伺服器-用戶端傳輸,預設不被加密。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.