在ASP.NET中ASPX頁面的Page_Load事件有兩個讓人奇怪的地方,你應該記住它們:
a.有時Page_Load事件在你的ASP.NET頁面裡會發生多次。這種情況發生的一個可能的原因是你把ASPX頁面的AutoEvenWireup值設置成了True。如果是這樣,那麼在“Sub Page_Load(ByVal Sender as System.Object,ByVal e as System.EventArgs”後面加上“Handles MyBase.Load”這一行就是沒有必要的了。既然Visual Studio.NET能夠自動的為你處理這個部分,你當然可以將AutoEventWireup值設置成False。
b.有時好象一個按紐的單擊事件處理代碼並沒有運行。這裡你應該檢查Page_Load事件確保任何加載數據的代碼(比方在下拉列表中綁定數據的代碼)只在初始加載這個頁面的時候運行,而不是在後來客戶端數據返回的時候運行。一個檢查這種情況的簡單的方法是在你的Page_load事件處理函數裡添加對Page.IsPostBack值的測試-False意味著這是頁面第一次被加載而True則意味著已經發生了一次數據返回過程。