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

    頁 事 件

    典 型 用 場

    Page_PreInit

    使用IsPostBack屬性確定是否是第一次處理該頁;創(chuàng)建動態(tài)控件;動態(tài)設(shè)置Theme屬性;讀取或設(shè)置配置文件屬性值等

    Page_Init

    讀取或初始化控件屬性

    Page_Preload

    事件在所有回發(fā)數(shù)據(jù)處理之后但在 Load 事件之前引發(fā)

    Page_Load

    讀取和更新控件屬性

    Control   events

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

    Page_PreRender

    對頁的內(nèi)容進行最后更改

    Page_Unload

         執(zhí)行最后的清理工作,例如關(guān)閉打開的文件和數(shù)據(jù)庫連接等

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

     

    代碼清單 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控件。運行后在瀏覽器中呈現(xiàn)如圖6-1所示的效果。

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

     

    代碼清單 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. }  

     

    保存并運行頁面后就會發(fā)現(xiàn),在頁面加載后就看到了圖6-2的效果。

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

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

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


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


    網(wǎng)站導航:
     

    導航

    統(tǒng)計

    公告

    你好!

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    收藏夾

    C#學習

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲AV日韩AV天堂久久| 亚洲第一AAAAA片| 亚洲av永久无码精品天堂久久| 国产一精品一AV一免费| 亚洲国产成人高清在线观看| 羞羞视频免费网站在线看| 亚洲五月综合缴情在线观看| 在线观看免费视频网站色| 亚洲成AV人片在线观看WWW| 少妇性饥渴无码A区免费| 亚洲AV日韩AV鸥美在线观看| 91香蕉国产线在线观看免费| 亚洲春色另类小说| 成年性生交大片免费看| 亚洲欧美日韩久久精品| 伊人久久亚洲综合影院| 中文字幕在线免费观看视频| 亚洲大尺度无码专区尤物| 日韩在线不卡免费视频一区| 亚洲午夜电影在线观看高清| 青青青国产免费一夜七次郎| 美女被艹免费视频| 亚洲人成人无码网www电影首页| 久久综合国产乱子伦精品免费| 亚洲免费福利视频| 日韩视频在线免费观看| 精品无码一级毛片免费视频观看| 无码久久精品国产亚洲Av影片| 思思re热免费精品视频66| 亚洲youwu永久无码精品| 久久久久国产成人精品亚洲午夜 | 亚洲性线免费观看视频成熟| 国产黄色片在线免费观看| 一级一黄在线观看视频免费| 久久久久久亚洲Av无码精品专口| 麻豆国产VA免费精品高清在线| 中文字幕乱理片免费完整的| 亚洲欧洲国产综合| 国产一级一片免费播放i| 成人久久免费网站| 亚洲欧洲无卡二区视頻|