专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »网络技术 » 服务器控件:服务器Control控件生命周期 »正文

服务器控件:服务器Control控件生命周期

来源: 发布时间:星期四, 2009年2月12日 浏览:98次 评论:0


 服务器Control控件生命周期是创建服务器Control控件最重要概念作为开发人员必须对服务器Control控件生命周期深刻理解当然这不是夕就可以做到对于学习Control控件开发技术初学者可以不必掌握得非常详细深入只需对服务器Control控件生命周期中区别阶段有个大致了解即可中国自学编程网www.zxbc.cn
  
    在掌握服务器Control控件生命周期过程中读者要特别注意有关服务器Control控件状态相关内容在重点了解生命周期各个阶段同时对服务器Control控件状态变化要注意以下问题:Control控件生命周期何时保存Control控件和恢复其状态;何时和页面及其他Control控件的间进行交互;何时执行重要处理逻辑;在各个阶段Control控件可使用哪些信息、保持哪些数据、Control控件呈现时处于哪种状态以及何时输出显示标记文本等如下列举了服务器Control控件生命周期所要经历11个阶段 如图所示


服务器Control控件示意图

   看完了图,再来看看具体每阶段作用:
    (1)化-- --在此阶段中主要完成两项工作:化在传入Web请求生命周期内所需设置; 2、跟踪视图状态首先页面框架通过默认方式引发Init事件OnInit思路方法Control控件开发人员可以重写该思路方法为Control控件提供化逻辑此后页面框架将TrackViewState思路方法来跟踪视图状态需要注意是:多数情况下Control基类提供TrackViewState思路方法实现已经足够了只有在Control控件定义了复杂属性时开发人员才可能需要重写TrackViewState思路方法
  
    (2)加载视图状态----此阶段主要任务是检查服务器Control控件是否存在以及是否需要将其状态恢复到它在处理的前请求结束状态因此该过程发生在页面回传过程中而不是化请求过程在此阶段页面框架将自动恢复ViewState字典如果服务器Control控件不维持其状态或者它有能力通过默认方式保存其所有状态而使用ViewState字典那么开发人员则不必实现任何逻辑针对那些无法在 ViewState字典中存储数据类型或者需要自定义状态管理情况开发人员可以通过重写LoadViewState思路方法来自定义状态恢复和管理
  
    (3)处理回发数据----若要使Control控件能够检查客户端发回窗体数据那么必须实现.Web.UI.IPostBackDataHandler接口 LoadPostData思路方法因此只有处理回发数据Control控件参和此阶段
  
    (4)加载----至此阶段开始Control控件树中服务器Control控件已创建并化、状态已还原并且窗体Control控件反映了客户端数据此时开发人员可以通过重写OnLoad思路方法来实现每个请求共同逻辑
  
    (5)发送回发更改通知----在此阶段服务器Control控件通过引发事件作为种信号表明由于回发而发生Control控件状态变化(因此该阶段仅用于回发过程)为了建立这种信号开发人员必须再次使用.Web.UI.IPostBackDataHandler接口并实现另思路方法- RaisePostBackChangedEvent其判断过程为:如果Control控件状态因回发而更改则LoadPostData返回true;否则返回false页面框架跟踪所有返回trueControl控件并在这些Control控件上RaisePostDataChangedEvent [Page]
  
    (6)处理回发事件----该阶段处理引起回发客户端事件为了便于将客户端事件映射到服务器端事件上进行处理开发人员在此阶段可以通过实现 .Web.UI.IPostBackEventHandler接口RaisePostBackEvent思路方法来实现该逻辑由此途径服务器Control控件将成功捕获回发客户端事件进行服务器端相应处理
  
    (7)预呈现----该阶段完成在生成Control控件的前所需要任何工作通常情况下是通过重写OnPreRender思路方法完成该工作需要注意是:在该阶段可以保存在预呈现阶段对Control控件状态所做更改而在呈现阶段进行更改则会丢失
  
    (8)保存状态----如果服务器Control控件不维持状态或者它有能力通过默认方式保存其所有状态而使用ViewState字典那么开发人员槐卦诟媒锥问迪秩魏温呒R蛭飧霰4孀刺墓淌亲远摹H绻衿骺丶枰远ㄒ遄刺4妫蛘呖丶薹ㄔ赩iewState字典中存储特殊数据类型则需要通过重写SaveViewState思路方法来实现状态保存
  
    (9)呈现----表示向HTTP输出流中写入标记文本过程开发人员通过重写Render思路方法使其在输出流上自定义标记文本
  
    (10)处置----在此阶段中通过重写Dispose 思路方法完成释放对昂贵资源引用如数据库链接等
  
    (11)卸载----完成工作和\"处置\"阶段相同但是开发人员通常在Dispose思路方法中执行清除而不处理Unload事件
  
    小结
  
    服务器Control控件在ASP.NET 2.0框架中起着举足轻重作用是构建Web应用最关键、最重要组成元素对于个优秀开发人员掌握服务器Control控件基础知识是非常重要本文就服务器Control控件概念、类型、生命周期等关键内容进行了介绍希望读者能够将这些内容牢固掌握为写出精彩服务器Control控件打下良好基础

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: