程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ASP.Net頁面生命周期

ASP.Net頁面生命周期

編輯:.NET實例教程

錯誤:
    每個頁面的生命周期為用戶的訪問開始到結束,也就是說程序中的全局變量同時生存到用戶的訪問結束.

正確:
    每個頁面的生命周期為用戶的每一次訪問,也就是說每一次客戶端與服務器之間的一個往返過程.全局變量的生命周期在此之間.

例:
string gb_string;

void Page_Load()
{
    if(!IsPostBack)
    {
      //第一次被訪問的代碼
      gb_string ="Test!";   
    }
}


void BTnSubmit_Click(Object sender, EventArgs e)
{
  //在這裡gb_string 為空,是這一次postback新建的字符串

  //跟第一次那個被賦值的字符串不是同一對象.
}

ASP.Net 頁面生命周期
1. Page_Init();
2. Load VIEwState and Postback data;
3. Page_Load();
4. Handle control events;
5. Page_PreRender();
6. Page_Render();
7. Unload event;
8. Dispose method called;

總結:

在Page_Load()中執行的初始化工作


    1.一般都是初始化web控件,因為這些控件的狀態(值),由系統自動保存(__VIEWSTATE),
下次返回時,自動賦值,這是ASP.Net保存"web控件"狀態的特性.
  

    2.但是初始的如果是程序中用到的全局變量,就應該注意他的生命周期的問題.如果函數都在一個生命周期中,全局變量的值當然是一致的.但是如果在"由客戶激發"的事件中,這就不同了,每個客戶事件的激發,都會導致新的頁面生命周期的產生,全局變量的值會丟失,因為它們不在同一頁面生命周期(就像上面出現的錯誤1).

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved