ASP.Net Web开发基础 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

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,程序获取文本框的内容在标签上进行显示。