后台的cs代码封装了一个类.
而.aspx页面就是一个对象,每次调用都重新加载一个新的对象.
页面的IsPostBack属性,
获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。
属性值
如果是为响应客户端回发而加载该页,则为 true;否则为 false。 (MSDN)
***除了第一次加载之外(包括无数次的超链接的调用),其他的都是客户端回发的***
***页面的生命周期是在对页面的任何操作之前,即对页面进行任何操作之后,页面都会重新加载,
Ajax的异步刷新除外***
AfterJump.aspx页面
- <form id="form1" runat="server">
- <div>
- 这是跳转后的页面!
- <a href="Response.aspx?TEST=2">2222</a><br />
- <a href="Default4.aspx?CategoryId=5">Default4++++</a>
- <a href="Default4.aspx">Default4</a>
- </div>
- </form>
Default4.aspx页面
- <script runat="server">
- int categoryId = -1; //1
- protected void Page_Load(object sender, EventArgs e) //2
- {
- if (!IsPostBack)
- categoryId = Convert.ToInt32(Request["CategoryId"]);
- Response.Write(categoryId);
- // hfCategoryId.Value =Request["CategoryId"];
- //Response.Write(hfCategoryId.Value.ToString());
- }
- protected void Button1_Click(object sender, EventArgs e)//3
- {
- Response.Write(categoryId);
- //点击button后,页面会重新加载,(即对象重新加载)
- //会按照1,2,3的顺序加载。
- }
- </script>
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title>无标题页</title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <a href="AfterJump.aspx"> AfterJump</a>
- <asp:HiddenField ID="hfCategoryId" runat="server" />
- <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
- </div>
- </form>
- </body>
- </html>