明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

在ASP.NET中值得注意的2個(gè)地方

[摘要]在ASP.NET中ASPX頁(yè)面的Page_Load事件有兩個(gè)讓人奇怪的地方,你應(yīng)該記住它們:a.有時(shí)Page_Load事件在你的ASP.NET頁(yè)面里會(huì)發(fā)生多次。這種情況發(fā)生的一個(gè)可能的原因是你把ASPX頁(yè)面的AutoEvenWireup值設(shè)置成了True。如果是這樣,那么在“Sub Page_Lo...

在ASP.NET中ASPX頁(yè)面的Page_Load事件有兩個(gè)讓人奇怪的地方,你應(yīng)該記住它們:

a.有時(shí)Page_Load事件在你的ASP.NET頁(yè)面里會(huì)發(fā)生多次。這種情況發(fā)生的一個(gè)可能的原因是你把ASPX頁(yè)面的AutoEvenWireup值設(shè)置成了True。如果是這樣,那么在“Sub Page_Load(ByVal Sender as System.Object,ByVal e as System.EventArgs”后面加上“Handles MyBase.Load”這一行就是沒(méi)有必要的了。既然Visual Studio.NET能夠自動(dòng)的為你處理這個(gè)部分,你當(dāng)然可以將AutoEventWireup值設(shè)置成False。

b.有時(shí)好象一個(gè)按紐的單擊事件處理代碼并沒(méi)有運(yùn)行。這里你應(yīng)該檢查Page_Load事件確保任何加載數(shù)據(jù)的代碼(比方在下拉列表中綁定數(shù)據(jù)的代碼)只在初始加載這個(gè)頁(yè)面的時(shí)候運(yùn)行,而不是在后來(lái)客戶端數(shù)據(jù)返回的時(shí)候運(yùn)行。一個(gè)檢查這種情況的簡(jiǎn)單的方法是在你的Page_load事件處理函數(shù)里添加對(duì)Page.IsPostBack值的測(cè)試-False意味著這是頁(yè)面第一次被加載而True則意味著已經(jīng)發(fā)生了一次數(shù)據(jù)返回過(guò)程。