1、当通过IE的地址栏等方式打开一个URL时是第一次打开,此时isPostBack=false;
2、当通过页面的提交按钮或能引起提交的其他事件(如:form的submit事件)提交给服务器时,服务器要对客户的请求做出应答,此时服务器返回的应答页面就不再是第一次打开了。这时的isPostBack=true;
3、 IsPostBack的英文翻译为:是否发送返回。指的就是“本次页面的加载是否为服务器对用户的响应返回”。
附实例一个:
defult.aspx.cs:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Response.Write("<script>alert('first load')</script>");
}
else
{
Response.Write("<script>alert('not first load')</script>");
}
Response.Write("<script>alert('" + IsPostBack + "')</script>");
}
protected void postBack_Click(object sender, EventArgs e)
{
Response.Write(this.txt_Msg.Text);
}
defualt.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server" action="Default.aspx" method=get>
<div>
<asp:TextBox ID="txt_Msg" runat="server"></asp:TextBox>
<asp:Button ID="postBack" runat="server" OnClick="postBack_Click" Text="postback" /></div>
</form>
</body>
</html>