文档介绍:第三章标准控件
页面的生命周期
IsPostBack属性
标准控件
1
2
3
页面的生命周期
第一次访问:
1)预初始化和初始化:PreInit ; Init;
*.aspx中的所有控件都已实例化并采取各自的默认值
2)页面装载:细分PreLoad,Load,plete;
主要是Page-Load 运行这里面的程序
3 )预呈现:PreRender
可以利用该阶段来处理需要在保存和显示输出之前要做的操作。
4)保存状态:SaveViewState
所有控件和页面本身都将自己的值保存在_ViewState
隐藏属性中。
5) 呈现:Render
输出
6)卸载:Page_Unload
3
页面的生命周期
用户第一次以后的回传访问(PostBack):
1)初始化:Init
*.aspx中的所与控件都已实例化并采取各自的默认值
2)加载视图状态:LoadViewState,从_ViewState中读出数据,它包含上次在服务器上处理时控件的状态。
3 )处理回发数据: ProcessPostData
获取回传回来的页面中的控件的状态,比如:一个TextBox中可能已经填写了用户数据。此时,控件就有机会更新其状态。处理结束后,各个控件的状态就和它在客户端回传前的状态一致了。
4)页面装载:Page-Load 运行Page_Load里的代码。
4
页面的生命周期
用户第一次以后的回传访问(PostBack):
5)发送回传更改通知:Raise ChangedEvents
引发一个事件,以响应当前和以前状态的比较,发送一个回发更改通知。比如:TextBox的TextChanged事件。
6)处理回发事件:Raise PostBackEvent
处理用户引发回发的事件,比如,用户单击了一个按钮,将调用和这个按钮相关的代码来进行处理。
7)预呈现:PreRender
可以利用该阶段来处理需要在保存和显示输出之前要做更新操作。
8)保存状态:SaveViewState
所有控件和页面本身都将自己的值保存在_ViewState隐藏属性中。
9) 呈现:Render 输出
10)卸载:Page_Unload
5
Page的IsPostBack属性
通过页面的IsPostBack 属性可以判断*.aspx页面是否为回传给服务器的页面。一般在Page_Load事件中进行判断,并作相应的处理。:因为在Page_Load中有的代码你只希望在该页面被首次装载是执行,而在回传时不执行,所以可以利用IsPostBack这个属性来进行判断作相应的处理
例如:下拉列表框,在Page_Load中赋默认的初始值。如果不用IsPostBack属性进行限制,将重复添加。
6
Page的IsPostBack属性
例如:下拉列表框,在Page_Load中赋默认的初始值。如果不用IsPostBack属性进行限制,将重复添加。
if (!IsPostBack)
{
("北京市");
("天津市");
("上海市");
("重庆市");
}
标准控件全部运行于服务器端,即必须显示声明:runat="server".
这类控件在服务器端都以特殊的控件标签作为其HTML语法:
<asp:控件名称> </控件名称>
当页面运行于客户端时,它们就会自动生成相应的符合HTML语法的控件标签。
(以TextBox为例)
标准控件
标准控件
标准控件