服务器控件开发(一)

  开发之前先理解ASP.NET应用程序的生命周期和页面的生命周期;

  ASP.NET应用程序:

    请求>>>IIS>>>HTTP运行期(ISAPI)>>>HttpContent(上下文)>>>Http应用程序工厂(.aspx、.ascx)>>>Page控件树

  

  Page页面生命周期:

    实例化>>>Page_init>>>TrackViewState>>>LoadViewState>>>IPostBackDataHandler>>>Page_Load>>>

    IPostBackDataHandler.RaisePostDataChangedEvent>>>IPostBackEventHandler>>>SaveViewState>>>Page_PreRender>>>Page_Render>>>Page_Unload

    

    实例化

    Page_init:页面初始化,调用OnInit方法引发Init事件

    TrackViewState:开始跟踪视图状态

    LoadViewState:加载视图状态

    IPostBackDataHandler:加载回传数据

    Page_Load:加载

    IPostBackDataHandler.RaisePostDataChangedEvent:引发修改事件

    IPostBackEventHandler:引发回传事件

    SaveViewState:保存视图状态

    Page_PreRender:预渲染

    Page_Render:渲染

    Page_Unload:卸载

 

  控件树的生成过程:

    Page控件是控件树的根部;

    服务器控件:

      Control类控件,RenderControl>>>Render>>>RenderChildren>>>RenderCotrol.....

      WebControl类控件,AddAttributesToRender>>>RenderBeginTag>>>RenderContents>>>RenderEndTag

    静态文本:

      LiteralControl

  

    

posted on 2017-07-29 22:32  神奇猪的博客  阅读(191)  评论(0)    收藏  举报