<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Hopes

    Start Here..

     

    理解asp.net頁面事件

     一個ASP.NET頁面在運行時將經歷一個生命周期,在生命周期中將執行一系列處理步驟。這些步驟包括初始化、實例化控件、還原和維護狀態、運行事件處理程序代碼以及呈現頁面。在頁生命周期的每個階段中將引發一些事件,事件被引發時會運行程序員提供的事件處理代碼。頁面還支持自動事件連接,即ASP.NET將尋找具有特定名稱的方法,并在引發特定事件時自動運行這些方法。如果@Page指令的AutoEventWireup屬性設置為 true(若未定義該屬性則默認為 true),頁面事件將自動綁定至使用“Page_event”命名約定的方法,如 Page_Load 和 Page_Init。下表列出了主要的頁面生命周期事件。

    頁 事 件

    典 型 用 場

    Page_PreInit

    使用IsPostBack屬性確定是否是第一次處理該頁;創建動態控件;動態設置Theme屬性;讀取或設置配置文件屬性值等

    Page_Init

    讀取或初始化控件屬性

    Page_Preload

    事件在所有回發數據處理之后但在 Load 事件之前引發

    Page_Load

    讀取和更新控件屬性

    Control   events

    處理特定事件,如 Button 控件的 Click 事件

    Page_PreRender

    對頁的內容進行最后更改

    Page_Unload

         執行最后的清理工作,例如關閉打開的文件和數據庫連接等

    以下代碼可以用于驗證這些事件的觸發順序:

     

    代碼清單 6‑1

    C#代碼  收藏代碼
    1. protected void Page_Load(object sender, EventArgs e)  
    2.   
    3. {  
    4.   
    5. lbText.Text += "Page_Load <hr> ";  
    6.   
    7. }  
    8.   
    9. protected void Page_PreInit(object sender, EventArgs e)  
    10.   
    11. {  
    12.   
    13. lbText.Text +=  "Page_PreInit <hr>";  
    14.   
    15. }  
    16.   
    17. protected void Page_Init(object sender, EventArgs e)  
    18.   
    19. {  
    20.   
    21. lbText.Text += "Page_Init <hr>";  
    22.   
    23. }  
    24.   
    25. protected void Page_PreLoad(object sender, EventArgs e)  
    26.   
    27. {  
    28.   
    29. lbText.Text += "Page_PreLoad <hr>";  
    30.   
    31. }  
    32.   
    33. protected void Page_PreRender(object sender, EventArgs e)  
    34.   
    35. {  
    36.   
    37. lbText.Text += "Page_PreRender <hr>";  
    38.   
    39. }  

     

    lbText是在頁面頂端放置的一個Lable控件。運行后在瀏覽器中呈現如圖6-1所示的效果。

    需要特別說明的是Page_Unload事件,它容易被誤解為關閉頁面時所觸發的事件。但是執行下面的代碼后就會發現其實不然。

     

    代碼清單 6‑2

    C#代碼  收藏代碼
    1. protected void Page_Unload(object sender, EventArgs e)  
    2.   
    3. {  
    4.      System.Web.HttpContext.Current.Response.Write("<Script>alert('Page_Unload');</Script>");  
    5. }  

     

    保存并運行頁面后就會發現,在頁面加載后就看到了圖6-2的效果。

        頁面在請求完成后,就立刻觸發了該事件。關閉頁面是一個客戶端的事件,請不要與之混淆。此外,如果在Page_Unload中調用Response.Write方法,還會得到一個“響應在此上下文中不可用。”的錯誤警告。

    了解了頁面事件的觸發順序,在實際網站的開發中,我們就可以根據需要在不同的事件發生時給出處理操作。

    posted on 2012-05-10 21:26 ** 閱讀(1392) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    公告

    你好!

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    收藏夾

    C#學習

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲Av无码精品色午夜| 99re在线精品视频免费| 好爽…又高潮了免费毛片| 日韩亚洲国产高清免费视频| 亚洲校园春色小说| 亚洲尹人九九大色香蕉网站| 青柠影视在线观看免费高清| 亚洲日本中文字幕天堂网| 羞羞视频在线观看免费| 亚洲精品偷拍视频免费观看| 日韩在线观看免费完整版视频| 亚洲伊人成无码综合网| 一区二区三区免费看| 日本红怡院亚洲红怡院最新| 免费国产成人18在线观看| 久久综合亚洲色一区二区三区 | 亚洲国产成人99精品激情在线| 国产成人无码免费看视频软件| 中文日韩亚洲欧美制服| 永久久久免费浮力影院| 免费一级毛片在线播放视频免费观看永久 | 亚洲精彩视频在线观看| 69成人免费视频无码专区| 自拍偷自拍亚洲精品偷一| 国产成人精品亚洲精品| 免费成人在线视频观看| 亚洲国产成a人v在线| 精品剧情v国产在免费线观看| 美女被免费视频网站a| 亚洲一区二区三区AV无码 | 国产免费毛不卡片| 老牛精品亚洲成av人片| 亚洲AV永久无码精品成人| 国产一卡二卡3卡四卡免费| 色www免费视频| 久久青青草原亚洲av无码app| 好吊妞在线新免费视频| a色毛片免费视频| 亚洲中文精品久久久久久不卡| 亚洲性久久久影院| 丁香花免费完整高清观看|