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()+"次";

        }

时间: 2024-12-21 18:41:45

viewstate存值问题(http无状态)的相关文章

Ejb-有状态&amp;无状态SessionBean

1.    Ejb的分类 首先,企业级Bean分为三类: SessionBean用于实现业务逻辑,它可以是有状态的,也可以是无状态的.每当客户端请求时,容器就会选择一个SessionBean来为客户端服务.SessionBean可以直接访问数据库,但更多时候,它会通过EntityBean实现数据访问. Entity Bean是域模型对象(用来表示真实世界的实体),用于实现O/R映射,负责将数据库中的表记录映射为内存中的Entity对象,事实上,创建一个Entity Bean对象相当于新建一条记录

HTTP协议是无状态协议,怎么理解?

 Http是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的全部信息外,该环境不保存与会话有关的不论什么信息. 自己的理解,在asp.net里:每次提交server的页面没有不论什么关系,每次记录在页面的信息下次提交是记不住的,(除了应用本身可能已经存储在全局对象中的全部信息外)在.net里实际就是ViewState,ViewState是asp.net中保存页面信息的基本单位,应用时就是保存在控件隐藏域等中的数据 协议的状

Http协议无状态的理解

Http是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的所有信息外,该环境不保存与会话有关的任何信息. 自己的理解,在asp.net里:每次提交服务器的页面没有任何关系,每次记录在页面的信息下次提交是记不住的,(除了应用本身可能已经存储在全局对象中的所有信息外)在.net里实际就是ViewState,ViewState是asp.net中保存页面信息的基本单位,应用时就是保存在控件隐藏域等中的数据 协议的状态是指下一次传输

无状态服务(stateless service)

一.定义 无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息 有状态服务(stateful service)则相反,它会在自身保存一些数据,先后的请求是有关联的 二.优劣 有状态服务常常用于实现事务(并不是唯一办法,下文有另外的方案).举一个常见的例子,在商城里购买一件商品.需要经过放入购物车.确认订单.付款等多个步骤.由于HTTP协议本身是

http协议的无状态性及基于memcached-session-manager构建tomcat cluster会话服务器

一.http协议的无状态性 1.HTTP协议一共有五大特点 1)支持客户/服务器模式 2)简单快速 当客户端向服务器端发送请求时,只是简单的填写请求路径和请求方法即可,然后就可以通过浏览器或其他方式将该请求发送就行了.比较常用的请求方法有三种,分别是:GET.HEAD.POST.不同的请求方法使得客户端和服务器端联系的方式各不相同.因为HTTP协议比较简单,所以HTTP服务器的程序规模相对比较小,从而使得通信的速度非常快. 3)灵活 Http协议允许客户端和服务器端传输任意类型任意格式的数据对象

精通有状态vs无状态(Stateful vs Stateless)—Immutable模式之姐妹篇

我相信有不少人还不明白有状态和无状态(Stateful and Stateless)的概念,那么我们今天就来谈谈有状态和无状态,一方面不断总结提高自我,另一方面兼扫盲.这是Immutable不变模式的姐妹篇,大家可以参照着读. Immutable不变模式的分析blog: http://www.iteye.com/topic/959751 基本概念: 有状态就是有数据存储功能.有状态对象(Stateful Bean),就是有实例变量的对象,可以保存数据,是非线程安全的.在不同方法调用间不保留任何状

这个知识点不错,,学习一下先。。。无状态服务(stateless service)(转)

这样的应用,显得高级一些哟~~:) +================== http://kyfxbl.iteye.com/blog/1831869 ========================== 一.定义 无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息 有状态服务(stateful service)则相反,它会在自身保存一些数据,

HTTP无状态

无状态是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大. 另一方面,在服务器不需要先前信息时它的应答就较快. 客户端与服务器进行动态交互的Web应用程序出现之后,HTTP无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的购 物车程序也要知道用户到底在之前选择了什么商品.于是,两种用于保持HTTP连接状态的技术就应运而生了,一个是Cookie,而另一个则是Session. Cookie是通过客户端

EJB开发第二期---开发具有本地接口的无状态Bean

一.EJB中的bean 1.1 EJB中bean分类 会话bean(session bean) 负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过jdbc直接操作数据库,但大多数情况下都是通过实体bean来完成对数据库的操作. 实体bean(entity bean) 它实际上属于java持久化规范(简称JPA)里的技术,JPA的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate.TopLink等ORM框架各自为营的局面. 消息驱动bean(messa