PageLoad、IsPostBack和PageUnload
PageLoad
先看一段常见的代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//第一次加载页面时,执行各控件的初始化赋值
Label1.Text = “初始值”;
}
else
{
////非首次加载网页
Label1.Text = “IsPostBack”;
}
}
在使用Page_Load事件实现功能时,一般要在页面顶端使用page指令,打开自动事件委托
<%@ page AutoEventWireup="true" %>
否则需要手动添加事件绑定代码,来实现事件的委托处理。
this.Load += new System.EventHandler(this.Page_Load);
IsPostBack
Page_Load事件在网页加载的时候会被引发,在该事件中,一般都需要使用IsPostBack来判断该页是首次加载,还是为了响应客户端操作而进行的回发重载,以进行不同的操作。一个带有表单的网页,第一次加载呈现时IsPostBack值为false;当用户输入数据、点击按钮提交后,服务器响应用户的请求重新加载该网页进行处理,此时IsPostBack值为true。
PageUnload
在页面被执行完毕后,可以通过Page_Unload事件来执行页面卸载时的清理工作。如果打开了AutoEventWireup属性,当页面被卸载时会自动执行该事件。一般在PageUnload中执行关闭数据连接,释放资源等操作,如以下的代码:
protected void Page_UnLoad(object sender, EventArgs e)
{
//关闭数据库连接
closeconn( myconn );
}
运行 4_4_pageload.aspx,第一次时页面上的标签显示初始值,文本框输入内容,点击按钮后发生postback,程序获取文本框的内容在标签上进行显示。