熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET頁面事件:順序與回傳詳解[2]

2013-11-13 11:09:14  來源: .NET編程 

  四保存及顯示

  ·下一個方法是SaveViewState不論是否是回傳頁面均會遞歸的執行以保存頁面及其所有控件的ViewStateViewState基本上保存所有與定義在aspx中的原始值不同的值不管是被代碼還是用戶所改變注意控件值是根據他們在頁面的控件樹中的位置來保存的所以如果動態控件後來加到了錯誤的位置將會導致混亂

  ·下一個方法是SavePageStateToPersistenceMedium真正的保存頁面的ViewSate這個方法隨同LoadPageStateFromPersistenceMediumg 一起被重寫以便保存ViewState到Session或其它自定義數據而不是用隱藏域這對於低帶寬的用戶來說是很有幫助的並且對於移動設備來說Session是默認設置下面這篇文章描述了使用以上兩種方式保存ViewState的具體細節注意在Aspnet中有個BugAspnet要求必須提交__viewstate字段即使是空的

  ·下一個方法是Render方法該方法遞歸的創建並發送相應控件的html給浏覽器這個方法被一些頁面模板方案重寫以添加一些通用的頁面頭與腳而不使用服務器控件他們總是有一些額外的東西注意這兒的修改只能使用純HTML因為控件在這兒已經被生成了您可以用StringBuilderStringWriterHtmlTextWriter捕獲相應的HTML輸出

  · 最後的方法是OnUnload這個方法會調用相應的Dispose方法這個方法提供機會以便清空該頁面中使用的非托管資源如關閉打開的文件句柄以前打開的數據庫連接等注意這個方法是在頁面已經發送到客戶端以後執行的所以它只有影響服務器對象並且它不會顯示在頁面的顯示軌跡中這就是頁面的生存期對於每一次請求都是這麼運行的

  表頁面事件總結

  方法回傳控件

  ConstructorAlwaysAll

  AddParsedSubObjectAlwaysAll

  DeterminePostBackModeAlwaysPage

  OnInitAlwaysAll

  LoadPageStateFromPersistenceMediumPostBackPage

  LoadViewStatePostBackAll

  ProcessPostDataPostBackPage

  OnLoadAlwaysAll

  ProcessPostDataPostBackPage

  RaiseChangedEventsPostBackPage

  RaisePostBackEventPostBackPage

  OnPreRenderAlwaysAll

  SaveViewStateAlwaysAll

  SavePageStateToPersistenceMediumAlwaysPage

  RenderAlwaysAll

  OnUnloadAlwaysAll

[]  []  


From:http://tw.wingwit.com/Article/program/net/201311/15270.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.