收藏
    相册
    MVP新加坡会议
    Windows Vista
    豆丁
    何洁
    杂七杂八
    Graphics File Formats FAQ
    Adding Custom Buttons to Internet Explorer
    Creating a Windows DLL with Visual Basic
    Graphics File Formats FAQ (Part 1 of 4): General Graphics Format Questions
    Graphics File Formats FAQ (Part 2 of 4): Image Conversion and Display Programs
    Graphics File Formats FAQ (Part 3 of 4): Where to Get File Format Specifications
    Graphics File Formats FAQ (Part 4 of 4): Tips and Tricks of the Trade
    Visual Basic乱七八糟
    朋友的Blog
    小雨的Blog(RSS)
    瓜少之胡言乱语(RSS)
    美女苏胖墩的BLOG
    莫依的博客
    道士摄影
    马宁的Blog(RSS)
    我得主页
    AppleVB
    一些杂七杂八的东西
    40个常用的JS
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 ASP.NET 2.0中的页面生名周期(根据Dino的Introduction ASP.NET 2.0理解编写)收藏

    新一篇: 如何在程序出现错误后关闭并重新启动 | 旧一篇: 如何再Dos的控制台下实现像Linux那样的Tab键自动完成

    ASP.NET 2.0中页面的生命周期开始于ASP.NET运行环境执行IHttpHandler::ProcessRequest
    方法时。该方法设置了页面的内部类,比如HTTP环境(context)、Request对象以及
    Response对象等。
    下一步是创建在aspx文件中定义的控件树。然后就是判断页面的模式(是PostBack、CallBack
    交叉页面PostBack等)

    第一个被引发的事件是PreInit事件,在这个事件过程处理返回后,页面会装载主题(Theme)
    以及装载个人化(personalization)数据。在这个事件中可以对页面主题和个人化信息做
    一些操作

    页面初始化:每个页面控件都会引发Init事件,控件的Init事件比页面的Init事件先引发。

    结束页面初始化:这时引发InitComplete事件,这个事件在所有的页面控件初始化完成后
    引发。在Init事件和InitComplete事件中间happens—the view state of controls is
    set up for tracking. Each control has its TrackViewState method called.
    By default, this method sets a flag that instructs the control to track its view
    state for changes.(不太理解,直接拿过来,呵呵)

    装载控件State以及View State:在ASP.NET 2.0中,控件State是一个私有的View State,每一个
    控件自己有责任来维护它。跟View State不同,控件State不能在控件外通过编程来改变,并且
    不能被关闭。控件State在View State装载前装载。这些不会引发事件,但是可以通过重载方法
    来实现编程。

    装载PostBack数据:处理PostBack数据并且将他们的ID与控件ID对比,如果吻合则用这个数据来
    更新控件。

    Page PreLoading:在页面完成对提交数据的处理后引发PreLoad事件,可以在这个事件中处理任何
    需要在页面装载开始前需要做的工作。

    装载页面:引发Load事件,这个事件首先在控件中引发,最后是页面。在装载完成后会发生以下的
    事情:页面会花一点时间来匹配提交的数据以及页面控件,这个工作是为了将State装载到动态创建
    的控件中,如果页面有Callback处理程序,就会在这时引发。最后,如果提交的数据改变了某些控件
    会引发事件的属性,那么控件事件会引发,例如改变了TextBox的Text属性,那么TextChanged事件
    就会引发。

    PostBack事件:页面执行与客户端事件(例如点击)相关联的服务器端代码。这时页面进入输出(render)
    阶段

    Prerendering:在引发PreRender事件前,叶面会确认所有的控件已经成功创建了。PreRender事件会首先
    在页面中引发,然后顺序在控件中引发。然后就会引发页面的PreRenderComplete事件并且保存个人化数据
    控件以及view state。


    Rendering:创建输出到客户端的内容,一般重载这个事件来处理输出的内容。

    Page unload:引发Unload事件,在页面对象被释放时引发,The
    Unload event is followed by the Dispose event, which indicates that
    the page object is being destroyed.

    发表于 @ 2005年08月18日 17:39:00|评论(loading...)|编辑

    新一篇: 如何在程序出现错误后关闭并重新启动 | 旧一篇: 如何再Dos的控制台下实现像Linux那样的Tab键自动完成

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 陈锐