标签:
前台代码:
| 
 1 
2 
3 
4 
 | 
        <!--http协议无状态,这个是可以控制点击,看后台呦-->        <asp:Button ID="Button3" runat="server" Text="单击" onclick="Button3_Click"/>        <br />        <asp:Label ID="Label4" runat="server"></asp:Label> | 
后台代码:
| 
 1 
2 
3 
4 
5 
6 
7 
8 
 | 
        private int i = 0;        //下面的方法不管单击几次按钮,都只有显示一次。(因为viewstate不能存值)        protected void Button3_Click(object sender, EventArgs e)        {            i++;           Label4.Text = i.ToString();        }  | 
出现问题:
不管点击多少次按钮,只会显示一次
解决方案:
把值存在viewstate中。
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
 | 
        protected void Page_Load(object sender, EventArgs e)        {                         if (!IsPostBack){                //一般完成初始化页面工作,第一次访问时是false。此后的属性都为true                i = 0;//将变量的值存在viewstate中。可以避免发生值不能被保存的现象                ViewState["i"] = i;//赋值给viewstate初始值            }            else {                 //开始回发请求                //一般在这里开始完成对web应用程序的恢复和处理工作                i = (int)ViewState["i"];//从viewstate里取值给i            }                         }        private int i = 0;        protected void Button3_Click(object sender, EventArgs e)        {            i++;            ViewState["i"] = i;            Label4.Text = "您单击了"+i.ToString()+"次";        } | 
标签:
原文地址:http://www.cnblogs.com/imyp/p/4505114.html