新聞中心
ASP.NET加載對(duì)應(yīng)Load事件和OnLoad方法,對(duì)于這個(gè)事件,相信大多數(shù)朋友都會(huì)比較熟悉,用VS.Net生成的頁(yè)面中的Page_Load方法就是響應(yīng)Load事件的方法,對(duì)于每一次請(qǐng)求,Load事件都會(huì)觸發(fā),Page_Load方法也就會(huì)執(zhí)行,相信這也是大多數(shù)人了解ASP.Net的第一步。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、雅安服務(wù)器托管、營(yíng)銷軟件、網(wǎng)站建設(shè)、四川網(wǎng)站維護(hù)、網(wǎng)站推廣。
Page_Load方法響應(yīng)了Load事件,這個(gè)事件是在System.Web.WebControl.Control類中定義的(這個(gè)類是Page和所有服務(wù)器控件的祖宗),并且在OnLoad方法中被觸發(fā)。
很多人可能碰到過(guò)這樣的事情,寫(xiě)了一個(gè)PageBase類,然后在Page_Load中來(lái)驗(yàn)證用戶信息,結(jié)果發(fā)現(xiàn)不管驗(yàn)證是否成功,子類頁(yè)面的Page_Load總是會(huì)先執(zhí)行,這個(gè)時(shí)候很可能留下一些安全性的隱患,用戶可能在沒(méi)有得到驗(yàn)證的情況下就執(zhí)行了子類中的Page_Load方法。
出現(xiàn)這個(gè)問(wèn)題的原因很簡(jiǎn)單,因?yàn)镻age_Load方法是在OnInit中被添加到Load事件中的,而子類的OnInit方法中是先添加了Load事件,然后再調(diào)用base.OnInit,這樣就造成了子類的Page_Load被先添加,那么先執(zhí)行了。
要解決這個(gè)問(wèn)題也很簡(jiǎn)單,有兩種方法:
1) 在PageBase中重載OnLoad方法,然后在OnLoad中驗(yàn)證用戶,然后調(diào)用base.OnLoad,因?yàn)長(zhǎng)oad事件是在OnLoad中觸發(fā),這樣我們就可以保證在觸發(fā)Load事件之前驗(yàn)證用戶。
2) 在子類的OnInit方法中先調(diào)用base.OnInit,這樣來(lái)保證父類先執(zhí)行Page_Load
以上介紹ASP.NET中的Page_Load方法
分享名稱:淺談ASP.NET中的Page_Load方法
分享路徑:http://m.fisionsoft.com.cn/article/cohopii.html


咨詢
建站咨詢
