在閱讀ViewState的一篇文章中,我看到一句話說我不應該認爲TextBox的值存儲在ViewState中是一個錯誤;它存儲在PostBack數據中。在什麼TexBox值回發? ViewState還是回傳數據?
從這裏我明白的是,當我回發一個Web表單時,輸入控件值存儲在HTTP請求主體中。不在Viewstate中。但據我所知,ViewState值無論如何都存儲在一個名爲__VIEWSTATE的隱藏字段中。
那麼這是否意味着__VIEVSTATE值不會作爲回發數據發佈到HTTP POST請求正文中?聽起來對我來說是無稽之談。
換句話說,基本上,如果我說了這樣之情況ViewState的機制是這樣的,我看到它的權利或跳過的東西:
您輸入的空白文本框的值,並提交該頁面
將文本框的值回送到POST HTTP請求正文中。 __VIEWSTATE內從文本框
在服務器端,這一點沒有什麼,文本框與頁面
的ViewState的TrackChange屬性設置爲true的OnInit方法的默認值創建的。
加載TextBox的回發數據。因爲它與TextBox defalut值不同(因爲用戶輸入了某個內容),所以此文本框的ViewState被標記爲DIRTY。
文本框的新值被寫入到__VIEWSTATE隱藏字段
從現在起__VIEWSTATE hiddenfeild包含文本框的最後一個給定值
頁面發送到具有用戶的瀏覽器__VIEWSTATE隱藏字段。但是這次包含了用戶輸入的最後一個數值,這個數值將準備好被渲染
謝謝你們!
布拉克ozdogan
你真的需要檢查你的標籤發佈之前..現在有無用的標籤,如系統中的方式和工作。我編輯了你的答案。 – 2009-12-03 15:44:09
謝謝surfbum。 – pencilCake 2009-12-03 15:50:14