<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 ** 閱讀(1382) 評論(0)  編輯  收藏


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


    網站導航:
     

    導航

    統計

    公告

    你好!

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    收藏夾

    C#學習

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 色欲aⅴ亚洲情无码AV| 亚洲kkk4444在线观看| 九九久久国产精品免费热6| 国外成人免费高清激情视频| 亚洲一区中文字幕在线电影网| 30岁的女人韩剧免费观看| 亚洲va久久久噜噜噜久久天堂| 免费人成在线观看视频高潮| 亚洲国产精品SSS在线观看AV| a级毛片高清免费视频就| 亚洲国产综合精品中文第一区| 59pao成国产成视频永久免费| 亚洲欧洲国产综合| 一区二区无码免费视频网站| 亚洲欧洲无卡二区视頻| 日韩成人免费aa在线看| 一级毛片试看60分钟免费播放| 国产亚洲精品线观看动态图| 大地影院MV在线观看视频免费| 亚洲精品天天影视综合网| 久久精品国产免费观看三人同眠| 亚洲国产中文在线二区三区免| 无码人妻久久一区二区三区免费丨| 亚洲熟妇AV一区二区三区宅男| 免费永久国产在线视频| 99在线免费视频| 亚洲精品无码久久久久久久| 毛片免费在线视频| yellow视频免费在线观看| 亚洲∧v久久久无码精品| 2021免费日韩视频网| 免费无码午夜福利片| 亚洲av无码乱码国产精品fc2 | 日本亚洲色大成网站www久久| 日韩一级在线播放免费观看| 精品免费久久久久国产一区| 亚洲伊人久久大香线蕉苏妲己| 成人免费视频软件网站| 久久国产免费直播| 国内精品久久久久影院亚洲 | 无人在线观看免费高清|