今天在做一自动分页的时候,不敢用viewstate了,因为上次不知道谁和我说了那东西就像session一样,容易丢失。但是本人感觉,session好像是存储服务器上的是吧?(个理想像,不清楚!)
viewstate是存储在客户端的吧?(也是个人理解! )
但是我在程序中用ViewState["key"],这样真的容易丢失吗?以前用这个,也没有出现在过问题,现在听说易丢失了,都不敢用了。
请问我该怎么办?

解决方案 »

  1.   

    没有这事Session是存在服务器端,可以根据配置放在进程中,IIS中,数据库中和其他服务器上,但是每个session都会有一个短小的ID存在客户的cookie或者URL中(根据配置)这个ID用来识别不同客户的会话而viewstate是存在页面上,可以右键viewsource看到页面里有个隐藏的input,他的value就是你页面存储的viewstate,他是和页面一起传输的,当你访问另外一个页面,他就请空了,转而添入另外一个页面你加入和控件的viewstate
      

  2.   

    ViewState从来不会丢失。Session随着应用程序被重新启动而重新初始化(仅对InProc模式而言,对StateServer和SQLServer模式没有问题),但是应用程序重起都是有明确的原因的。基本上,是不好好学习技术,以讹传讹,出来吓唬人。
      

  3.   

    Sesssion会丢,viewstate绝不会丢
      

  4.   

    viewstate的生命期是到该页面关闭为止,viewstate对象是把值写到页面的隐藏字段中的,只要该页面没有关闭,是不可能丢失的,放心用,微软就是用这个来保持页面状态的
      

  5.   

    我用过很多viewstate,没有问题。