在ASP.NET中值得注意的2個(gè)地方
發(fā)表時(shí)間:2024-06-13 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]在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ò)程。