开发之前先理解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
浙公网安备 33010602011771号