ASP.NET中Page.IsPostBack属性
程序员文章站
2022-06-30 16:56:40
web程序的运行方式
客户端输入网址访问服务器的一个网页,客户进行相应的操作之后通过表单提交给服务器进行处理。每次提交服务器都会从新执行一次该网页下对应的程序!...
web程序的运行方式
客户端输入网址访问服务器的一个网页,客户进行相应的操作之后通过表单提交给服务器进行处理。每次提交服务器都会从新执行一次该网页下对应的程序!
Page_Load事件
执行时间,页面第一加载的时候执行,每次页面提交给服务器操作或刷新页面时执行。
作用:(1)Page_Load事件每次加载页面的时候都执行我们可以用他来绑定数据来显示。
(2)有时候我们需要页面初始化(第一次加载)执行一些程序,再次加载的时候不在执行!
Page.IsPostBack属性
作用:服务器判断页面是不是第一加载,服务器第一次响应客户端的请求Page.IsPostBack返回false。当页面提交表单发给服务器进行处理的时候,Page.IsPostBack返回为true。
如果有些控件的AutoPostBack属性被设置为true,那么当该控件的状态被改变后,也会使表单提交给服务器。(AutoPostBack属性,它只有两个bool值,true/false。如果这个属性被设置成false,那么点击后就不会立刻将变化传给服务器处理,也就不会有该控件的SelectedIndexChanged事件。)
例子:
protected void Page_Load(object sender, EventArgs e) //页面每次加载执行的程序
{
//页面第一次加载执行的程序!
//(第一次Page.IsPostBack为false,!Page.IsPostBack为true执行下面清空代码,再次加载!Page.IsPostBack为false清空代码不在执行)
if(!Page.IsPostBack )
{
this.txtUserName.Text = ""; //清空
this.txtUserPwd.Text = "";
}
//每次页面加载的时候执行,该功能也可以用于数据绑定
this.btnExit .Attributes .Add("Onclick","window.close();");
}
protected void btnLogin_Click(object sender, EventArgs e) //登录事件
{
if (this.txtUserName.Text == "a" && this.txtUserPwd.Text == "a") //简单测试判断用户名和密码是否正确
{
Response.Write ("登录成功"); //用户名和密码正确显示登录成功
}
else {
Response.Write ("登录失败");
}
}
总结:
每次当表单提交给服务器,就会被重新加载,启动Page_Load事件,执行Page_Load事件处理程序中的所有代码,所以通过判断Page.IsPostBack属性的true和false来编写第一执行和每次加载时的代码!