说道ASP.NET Postback,就得说Web Page生命周期,但是Web Page生命周期却不是三言两语就能够说得清楚的,所以在这里单纯站的编程的角度,撇开Web Page生命周期浅谈Postback。
我们知道,无论是ASP.NET1.x,2.0,甚至是以后的版本,ASP.NET最终Render到Client端通过浏览器浏览的都是一样:一个单纯的HTML。Client通过Submit Form的方式将填入Form的数据提交给Server进行处理。我们现在来看看ASP.NET Postback程序处理的过程。
首先我们通过一个Sample来看ASP.NET如何处理一个通过Click一个Button引起的Postback。下面是Web Page的HTML:
- <%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.
aspx.cs"Inherits="_Default"%>- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml">
- <headrunatheadrunat="server">
TestPage - <formidformid="form1"runat="server">
- <asp:Labelrunatasp:Labelrunat="server"ID="LabelMessage"ForeColor="red">
- <asp:Buttonrunatasp:Buttonrunat="server"ID="Button1"Text="Button1"OnClick=
"Button1_Click"OnCommand="Button_Command"CommandArgument="Button1"/>- <asp:Buttonrunatasp:Buttonrunat="server"ID="Button2"Text="Button2"OnClick=
"Button2_Click"OnCommand="Button_Command"CommandArgument="Button2"UseSubmitBehavior="false"/>- <asp:Buttonrunatasp:Buttonrunat="server"ID="Button3"Text="Button3"OnClick=
"Button3_Click"OnCommand="Button_Command"CommandArgument="Button3"UseSubmitBehavior="false"/>