zoukankan      html  css  js  c++  java
  • viewstate 与 session 区别

    Session存在于服务器端可以跨页面.耗费服务器资源.
    ViewState载体是页面文件,消耗带宽.

    EG:

       viewstate是存储在客户端的隐藏信息,当服务器接受请求回传时可以将viewstate内容回传到页面中,,其机制可自动实现,控件的属性中都有viewstate,只需将其设置为true即可,就可以保存控件信息.
    session是客户端会话,具体应用举例:比如你进入淘宝网,购物,当你选中欲购买的产品时,你点下一页按钮进入另外另一个页,那么如何存储这些表格信息呢,就可以用到session(tableid)了,这样session就可以存储你前一页选的产品表格了,然后这一页又选了哪些产品,你可以把这些新的记录集再加入老的表格中,最后产生新表,并存储在session中,Session变量又可被下一页面调用.
    最后在用户购买单中就可以调用最终session,产生表格,提交购物。

    当aspx页面重新加载后,上一次的存放在变量中的数据就会丢失的。
    用ViewState来保存
    如ViewState["aaa"]="要保存的值";
    下次读取的时候可以先用if(ViewState["aaa"]==null)来判断一下是否有值
    ViewState["aaa"]获得是object类型的,用的时候转一下先


    Session是服务器的内存中,最大10KB,默认20分钟释放。
    ViewState只能在一个页面上传值,session可跨多个页面传值
    ViewState只是在当前page内有效,关了当前页,再重新打开,ViewState就没了的。

    为了在 HTTP 请求间保留这些值,ASP.NET 服务器控件使用该属性(它是 StateBag 类的实例)来存储属性值。在处理后续请求时,该值随即作为变量传递给 HTML 隐藏输入元素。

  • 相关阅读:
    server.port 在单元测试中,调用的类或者方法这个地方获取到的端口号就会变成-1
    SpringBoot读取application.properties文件
    javaWeb 使用 filter 处理全站乱码问题
    web.xml里<filter-mapping>中的<dispatcher>作用
    SpringBoot中使用Interceptor
    精通Spring Boot
    Spring MVC之@ControllerAdvice详解
    Spring Boot 优雅的配置拦截器方式
    【Spring学习笔记-MVC-17】Spring MVC之拦截器
    C#构造方法(函数)
  • 原文地址:https://www.cnblogs.com/guanshan/p/guan046.html
Copyright © 2011-2022 走看看