• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    ASP.NET VIEWSTATE初探[1]

    發布: 2010-5-18 11:02 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 203次 | 進入軟件測試論壇討論

    領測軟件測試網

      在 ASP.NET 之前,通過多次回傳將值恢復到窗體字段中完全是頁面開發人員的責任,他們將不得不從 HTTP 窗體中逐個拾取回傳值,然后再將其推回字段中。幸運的是,現在 ASP.NET 可以自動完成這項任務,從而為開發人員免除了一項令人厭煩的工作,同時也無需再為窗體編寫大量的代碼。但這并不是 ViewState。

      ViewState(英文)是一種機制,ASP.NET 使用這種機制來跟蹤服務器控件狀態值,否則這些值將不作為 HTTP 窗體的一部分而回傳。例如,由 Label 控件顯示的文本默認情況下就保存在 ViewState 中。作為開發人員,您可以綁定數據,或在首次加載該頁面時僅對 Label 編程設置一次,在后續的回傳中,該標簽文本將自動從 ViewState 中重新填充。因此,除了可以減少繁瑣的工作和代碼外,ViewState 通常還可以減少數據庫的往返次數。

      二、 ViewState 的工作原理

      ViewState 確實沒有什么神秘之處,它是由 ASP.NET 頁面框架管理的一個隱藏的窗體字段。當 ASP.NET 執行某個頁面時,該頁面上的 ViewState 值和所有控件將被收集并格式化成一個編碼字符串,然后被分配給隱藏窗體字段的值屬性(即 )。由于隱藏窗體字段是發送到客戶端的頁面的一部分,所以 ViewState 值被臨時存儲在客戶端的瀏覽器中。如果客戶端選擇將該頁面回傳給服務器,則 ViewState 字符串也將被回傳。在上面的圖 2 中可以看到 ViewState 窗體字段及其回傳的值。

      回傳后,ASP.NET 頁面框架將解析 ViewState 字符串,并為該頁面和各個控件填充 ViewState 屬性。然后,控件再使用 ViewState 數據將自己重新恢復為以前的狀態。

      關于 ViewState 還有三個值得注意的小問題。

      1)如果要使用 ViewState,則在 ASPX 頁面中必須有一個服務器端窗體標記 (

      )。窗體字段是必需的,這樣包含 ViewState 信息的隱藏字段才能回傳給服務器。而且,該窗體還必須是服務器端的窗體,這樣在服務器上執行該頁面時,ASP.NET 頁面框架才能添加隱藏的字段。

      2)頁面本身將 20 字節左右的信息保存在 ViewState 中,用于在回傳時將 PostBack 數據和 ViewState 值分發給正確的控件。因此,即使該頁面或應用程序禁用了 ViewState,仍可以在 ViewState 中看到少量的剩余字節。

      3)在頁面不回傳的情況下,可以通過省略服務器端的 標記來去除頁面中的 ViewState。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    22/2<12

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>