日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET 页面事件执行顺序 收藏

發布時間:2025/3/15 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET 页面事件执行顺序 收藏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ASP.NET 頁面事件執行順序 收藏
過程描述
下面是ASP.NET頁面初始的過程:
1. Page_Init();
2. Load ViewState;
3. Load Postback data;
4. Page_Load();
5. Handle control events;
6. Page_PreRender();
7. Page_Render();
8. Unload event;
9. Dispose method called;

下面對其中的一些過程作下描述:
1. Page_Init();
這個過程主要是初始化控件,每次頁面載入執行這個初始過程,包括第一次和以后的Postback(這里說下Postback,其實就可以簡單理解成用戶點擊SUBMIT按鈕之類的,把表單<Form>提交給服務器,這就是一次postback),在這里面可以訪問控件,但是這里面的控件值不是我們期待的控件里面的值,他只是一個控件的初始值(默認值),舉例: 比如一個TextBox1,我們填入了"哈哈",在點擊SUBMIT提交了頁面后,在Page_Init()里面,我們訪問到的TextBox1.Text不是我們的"哈哈",而是開始的""空字符串,如果TextBox1在我們設計的時候提供了默認值,這里訪問到的也就是提供的默認值,為什么呢,這就要看下一個過程了.

對應的事件Page.Init

2. Load ViewState
這個過程是載入VIEWSTATE和Postback數據,比如我們上面的TextBox1,這時就賦了"哈哈",所以,在Post_Init()對控件賦值是無意義的,它都會在這個過程里被改寫,當然第一次頁面載入例外,因為沒有VIEWSTATE數據。

沒有對應的事件

3.Load Postback data;
上面說了,Postback可以理解成用戶提交表單數據,所以這里就是處理表單數據,當然這里要設計到控件的設計,一般情況不會要我們自己處理這個過程,我們暫且略過. (在以前那篇關于ASP.NET頁面生命周期的簡單描述中,把這個過程和Load ViewState放在了一起,其實那是微軟提供的生命周期過程,這里單獨提出來是為了讓大家明白這是一個單獨的過程)

沒有對應的事件
4. Page_Load();
這個過程也是每次頁面載入時一定會執行的,但是注意和Page_Init的區別,上面已經涉及了,這里注意的是一般都會用到Page.IsPostBack,該值指示該頁是否正為響應客戶端回發而加載,或者它是否正被首次加載和訪問。
private void Page_Load(object sender, System.EventArgs e)
{
?? if(!Page.IsPostBack)
?? {
//第一次執行的CODE HERE
?? }
?? else
?? {
//用戶提交FORM(即Postback)CODE HERE
?? }

?? //每次這里的都回執行CODE HERE
}

對應的事件Page.Load

5. Handle control events;
這個過程里,相應具體的控件事件,比如private void ListBox1_SelectedIndexChanged(object sender, System.EventArgs e)事件等等

沒有對應的事件(我們自己的事件函數都包括在這個過程里比如上面的ListBox1_SelectedIndexChanged)

6. Page_
預先呈遞對象,這里是在向用戶程序呈現數據的倒數第二步,我估計提供這個過程的意義,也就是在這里能對控件屬性等等要呈現給用戶的數據進行修改,這也是最后的修改,以前的修改(比如在Page_Init里面)都可能被覆蓋.做完這了還會進行一個操作就是保存狀態,即SaveViewState.

對應的事件時Page.PreRender

7. Page_Render();
大家可以在瀏纜器里View->Source查看到,每個頁面都有一個隱藏的<input>,這里面的"__VIEWSTATE"就是我們服務器寫回來的頁面狀態信息,在這個之前,服務器要呈現頁面(也就是構造HTML格式的文件),就是從這個"__VIEWSTATE"里面獲取的數據,當然大家也注意到了,這里有個Page.Render事件,我們可以添加自己的處理代碼,也就是說我們又可以更改數據,不過這里推薦不要在這里修改,既然提供了PreRender,就應該在里面做最后的修改,當然這不是必須的,只是推薦!

對應的事件Page.Render

8. Unload event;
大家應該明白,當想服務器請求一個對象的時候,就會在內存里生成一個繼承頁面對象,也就是頁面的類,它繼承自System.Web.UI.Page.
當頁面對象從內存中卸載時發生,將觸發該事件.

對應的事件Page.Unload

9. Dispose method called;
銷毀所有的對象.當從內存釋放Page時發生,這是生存期的最后階段。可能第8和9似乎有些模糊,不過我也沒怎么搞清楚,待研究!

對應的事件Dispose

以上就是ASP.NET頁面周期的描述。

注意上面灰色背景的文字,如果一個過程中有對應的事件,我們可以自己定義一個函數(當然先在MSDN中找到函數原型),然后在
InitializeComponent中向事件的鏈表上添加上去,像下面:
private void InitializeComponent()
{
?? this.Unload += new System.EventHandler(this.MainWebForm_Unload);
?? this.Load += new System.EventHandler(this.Page_Load);
?? this.Init += new System.EventHandler(this.Page_Init);
?? this.PreRender += new System.EventHandler(this.My_PreRender);
}

對于幾個沒有對應事件的過程,比如2.Load ViewState,我們可以重載Page的虛函數protected override void LoadViewState(object savedState);來添加自己的控制代碼,不過切忌掉用基類的對應方法,比如:
protected override void LoadViewState(object savedState)
{
?? //自己處理VIEWSTATE
?? base.LoadViewState (savedState);
}


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/SagaTX/archive/2009/07/13/4344343.aspx

總結

以上是生活随笔為你收集整理的ASP.NET 页面事件执行顺序 收藏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲美女色视频 | 欧美生活一级片 | 激烈娇喘叫1v1高h糙汉 | 亚洲黄色小说图片 | 成人网页 | 欧美无极品 | 中国黄色免费 | 成人高潮片免费网站 | h视频免费在线 | 亚洲色图36p | 成人一区二区电影 | 可以免费看污视频的网站 | 大帝av| 国产又粗又猛又黄 | 超碰99在线 | 日韩精品一区二区亚洲av观看 | 欧美国产在线观看 | 秘密基地在线观看完整版免费 | 丁香色欲久久久久久综合网 | 国产小视频在线播放 | 久国久产久精永久网页 | 国产精品一区不卡 | 让男按摩师摸好爽 | 国产污片在线观看 | 久久精品中文闷骚内射 | 欧美一级特黄aaaaaa大片在线观看 | 少妇捆绑紧缚av | av资源免费观看 | 久久精品免费在线观看 | 午夜福利视频一区二区 | 黄色片在线免费 | 天天视频天天爽 | 成人77777 | 91精品久久久久久久久久入口 | 亚洲经典视频在线观看 | 亚洲女成人图区 | 亚洲乱码一区 | 国产精品suv一区二区 | 午夜美女网站 | 欧美性三级 | 中国免费一级片 | 一级片免费 | 夜夜嗨老熟女av一区二区三区 | 国产激情一区二区三区四区 | 中国一级大黄大黄大色毛片 | 中文字幕无码精品亚洲35 | 欧美成人专区 | 国产熟妇搡bbbb搡bbbb | 国产偷v国产偷v亚洲高清 | 色呦呦在线免费观看 | 日本不卡中文字幕 | 国产综合在线播放 | 91久久中文字幕 | 国产精品无码成人网站视频 | 性史性dvd影片农村毛片 | 69xxx免费视频| av一区三区 | va在线观看 | 欧美精品久久久久久久久老牛影院 | 男女野外做受全过程 | 日韩激情在线播放 | 潮喷失禁大喷水aⅴ无码 | 97成人精品 | 国产人成免费视频 | 最近中文字幕无免费 | 日韩一级淫片 | 2019日韩中文字幕mv | 在线免费成人网 | 国产精品扒开做爽爽爽的视频 | 亚洲欧美电影 | 国产亚洲福利 | 伊人久久久久久久久久久久 | 爱爱的免费视频 | 黑人巨大精品欧美黑寡妇 | 日韩欧美二区 | 免费日韩一区二区 | 欧美日韩亚洲免费 | 国产免费成人在线视频 | 精品国产中文字幕 | 狠狠操一区二区 | 国产美女在线免费 | 国产tv在线观看 | 日本一区二区三区视频在线播放 | www.男人的天堂 | 中国av一级片 | 国内精品视频在线观看 | 卡通动漫av| 成人p站在线观看 | 精品一区二区三区在线免费观看 | 中文字幕精品三区 | 欧美又大粗又爽又黄大片视频 | 国产乱妇无码大片在线观看 | 漂亮人妻洗澡被公强 日日躁 | 久射久 | 久久国产三级 | 99亚洲精品 | 成人看片网站 | 国精产品一区二区 | 美女隐私免费观看 |