ViewState是“客户端”状态保持的一种方案,ViewState是.net中特有的,其他的编程语言,如:Java、PHP中是没有ViewState这个概念的。
举个简单的例子ViewState的例子,比如:自增运算。当你第一次向服务器请求时,看到页面上有一个数字,比如“1”,这个一就存放在了ViewState属性中了,当你点自增按钮的时候,你会看新的数字“2”,这个2其实也是保存在了ViewState中了,只有这样,服务器才能每次根据ViewState中值得到新的结果,并发送给你。
可能有点迷糊,看一下代码你就明白了!
前台代码:
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ViewState.aspx.cs" Inherits="ViewState" %>
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5 <html xmlns="http://www.w3.org/1999/xhtml">
6 <head runat="server">
7 <title></title>
8 </head>
9 <body>
10 <form id="form1" runat="server">
11 <div>
12 <input type="submit" value="自增" />
13 </div>
14 </form>
15 </body>
16 </html>
后台代码:
1 using System;
2 using System.Collections.Generic;
3 using System.Web;
4 using System.Web.UI;
5 using System.Web.UI.WebControls;
6
7 public partial class ViewState : System.Web.UI.Page
8 {
9 int a = 0;
10 protected void Page_Load(object sender, EventArgs e)
11 {
12 if (ViewState["count"] != null)
13 {
14 a = Convert.ToInt32(ViewState["count"]);
15 }
16 a++;
17 Response.Write(a.ToString());
18 ViewState["count"] = a;
19 }
20 }