回送:指客户端的页面传送回服务器端。
注意:该页面包含所有窗体信息,此前已经在服务器端加载过并已传送到客户端显示。
回送后的操作:页面回送后,即页面从客户端传送回服务器端后,由服务器端重新加载该页面(执行Page_Load事件),随后执行代码视图中的事件处理程序对页面或其中的控件进行处理(即更新页面),最后再将更新后的页面从服务器端返回至客户端。
举例说明:页面上有两个控件:Label1和Button1,Label1的文本属性Text为"abc",事件处理程序Button1_Click的操作是在Label1.Text文本属性上添加"def"字符串,以在Label1中显示"abcdef"。
源视图(关键部分):
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="abc" Width="151px"></asp:Label> <br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="添加def" />
</div>
</form>
</body>
代码视图(关键部分):
public partial class _Default : System.Web.UI.Page
{ protected void Page_Load(object sender, EventArgs e)
{ if (! IsPostBack) //相当于if (IsPostBack==false)
{Response.Write("页面第一次加载.");}
else
{Response.Write("页面回送.");}
}
protected void Button1_Click(object sender, EventArgs e)
{ Label1.Text =Label1.Text + "def";
}
}
执行流程:
1、初次加载:页面在服务器端第一次加载,即在代码视图执行Page_Load事件,此时,页面的回送属性IsPostBack为False。输出"页面第一次加载."的提示,随后页面从服务器端传送至客户端浏览器显示。Label文本标签中的文本显示为"abc"。
2、单击浏览器显示页面中的Button按钮。此时引发回送,客户端中的页面传送回服务器端,并在服务器端重新加载,即重新执行Page_Load事件,此时页面的回送属性IsPostBack已经改变为True。输出"页面回送."的提示,随后,页面执行事件在服务器端执行代码视图中的事件处理程序Button1_Click,对页面或其中的控件进行处理更新(即更新页面)。最后,更新后的页面从服务器端返回客户端,在浏览器中显示。