zoukankan      html  css  js  c++  java
  • viewstate存值问题(http无状态)

    前台代码:

    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()+"次";
            }
  • 相关阅读:
    北风设计模式课程---13、享元模式
    北风设计模式课程---观察者模式2
    北风设计模式课程---观察者模式
    北风设计模式课程---12、观察者模式
    Linux下yum订购具体解释
    不黑诺基亚,他们觉得萌萌达
    System.Threading.ThreadStateException
    SRS微信号和QQ组
    hibernate它 10.many2many单向
    UML 简单的总结
  • 原文地址:https://www.cnblogs.com/imyp/p/4505114.html
Copyright © 2011-2022 走看看