有没有办法象VIEWSTATE那样存一个数据表datatable?因为我需要对这个数据表进行再操作。每次PAGE_LOAD之后就被刷没了。我想保存下来它 有实现的方法吗?大家给个提示
   我现在什么方法都使了,就是不行。我都要准备去弄临时表来解决了

解决方案 »

  1.   

    保存到session咯,不過這樣占用服務器資源,保存到viewstate不可取,需要在client和server傳輸,影響反應速度的
      

  2.   

    存到session中? 我说一下我做的目的
       是为了在数据库中匹配检索信息 然后加入将检索到的信息的关键字前后加上颜色变红的html代码,然后存起来新的数据 因为要分页显示 所以要存起来这个新的datatable
      session对于上千行rows的数据表 是不是太费服务器资源了?
      

  3.   

    web应用,客户端的特点就是“人多、操作慢”。那么多人同时操作,并且每一个人操作之后隔很长时间才会有另外一个请求提交到服务器,把每个人的临时数据都霸占在服务器内存中是要“死掉”的。session应该仅仅保存最少量的信息,例如用户的id号、身份等。应用程序几乎不需要使用Session(当然应该是“几乎不用”而绝对不是“不用”)。另外Session和ViewState的作用域不同。两个以上连作用域都不分的程序员在一起工作,肯定会在团队开发和维护的复杂系统中“随随便便”地破坏别人的程序逻辑。另外,谁说ViewState就只能写到客户端呢?仅仅需要override自定义Page子类的
      LoadPageStateFromPersistenceMedium
      SavePageStateToPersistenceMedium
    这两个方法,各使用十几条语句,就能将ViewState改放在Cache、服务器文件系统、数据库等任意地方。最后回答楼主的问题:如果不是什么正式的大项目,使用临时表也是一种优于Session而和ViewState基本上同类的解决方案。ViewState是通用的对“任意”.net对象在Page上进行序列化/反序列化解决方法,而你的临时表仅仅针对你自己写的这个具体的Page,其它方面区别不大。
      

  4.   

    关于
        LoadPageStateFromPersistenceMedium
        SavePageStateToPersistenceMedium
    这两个方法控制ViewState的存取,主要用于asp.net1.0中。在asp.net2.0中将其中一个功能挪到了可选的 PageStatePersister 属性(次对象仅有Save和Load两个方法,非常简单),原本大概是为了在桌面和移动web页面使用同一机制不同ViewState处理而做,但是你完全可以提供自己PageStatePersister 对象。