• Web内置对象 跨页面传值


    内置对象:

    1.QueryString - 地址栏数据拼接 get传值方式

    格式:?key=value优点:简单好用,速度快,不消耗服务器内存。 缺点:只能传字符串,保密性不好,长度有限

    Request - 获取请求对象

    Request["key"] - 默认返回的就是string类型

    Response - 响应请求对象

    Response.Redirect(path); 页面重定向,path是重定向的地址

    Response.Write("  aaaa  "); 输出内容,一般用于输出JS语句。

    Server.Transfer(path);页面重定向 

    Session相对全局对象

    Session是非常安全的,因为它存在于服务器的内存中,取数据也是最快的

    但是,Session不要滥用,因为会造成服务器内存溢出,导致服务器崩溃

    Session里面不要放大东西,如果不用那么就会造成资源浪费

    Session生命周期:只要页面有提交活动,则Session的所有项都会保持,页面在20分钟(默认配置)内没有任何提交活动时Session会失效。Session内存储的多个数据项是整体失效的。

     创建   Session["user"] = 值;

        Session["user"]object类型使用时转成相应的类型 

    Cookies

    会话Cookies的生命周期是:20分钟

    Cookies是存在用户电脑的硬盘上

    创建  Response.Cookies["user"].Value =值;

    取值

     1 if (Request.Cookies["user"] != null)//先判断cookies有没有内容
     3         {
     5             Label1.Text = Request.Cookies["user"].Value;
     7         }
     9         else// 没有内容
    11         {
    13             Response.Redirect("Default.aspx");
    15         }

    持久Cookies,保存时间由网站代码来设置

    Response.Cookies["user"].Expires = DateTime.Now.AddDays(7);

    如果使用Cookies必须要存放汉字 在别的页面是不显示的 需要特定的编码方式

    //创建Cookie ,用UrlEncode方法,TextBox1.Text需要被编译的内容,System.Text.Encoding.GetEncoding("utf-8")编码方式
    Response.Cookies["as"].Value = HttpUtility.UrlEncode(TextBox1.Text, System.Text.Encoding.GetEncoding("utf-8"));
    //取值 ,用UrlDecode方法
    Label1.Text = HttpUtility.UrlDecode(Request.Cookies["as"].Value, System.Text.Encoding.GetEncoding("utf-8"));

    Application

    它是全局对象,全局只有这一个对象

    只要被创建出来,所有人取的值都是一样的

    生命周期:永久

    保存位置:服务端

    Application["key"] 是所有的用户获取这个key里面的值都是一样的, 没有保存周期,他会一直保存着, 通常用作版本号

    赋值:Application["key"]=值;
    取值:Application.Get("key");

    ViewState:记录上一个页面的信息

    ViewState 属性提供一个字典对象,用于在对同一页的多个请求之间保留值。这是页用来在往返行程之间保留页和控件属性值的默认方法。在处理页时,页和控件的当前状态会散列为一个字符串,并在页中保存为一个隐藏域或多个隐藏域(如果存储在 ViewState 属性中的数据量超过了 MaxPageStateFieldLength 属性中的指定值)。当将页回发到服务器时,页会在页初始化阶段分析视图状态字符串,并还原页中的属性信息。也可以使用视图状态来存储值。在默认情况下,ViewState不被加密,并且发生服务器-客户端数据传输。

    ViewState的关键特性有:存储于页面上,与会话且与页面相关,被序列化,默认发生服务器-客户端传输,默认不被加密。
    至于在什么样的情况下ViewState不发生服务器端-客户端传输,或者被加密,我们将在后面的章节中予以讲述。

    ViewState虽然不能够跨页面共享数据,但是在同一个页面里,可以用于在对同一页的多个请求之间保留值。

  • 相关阅读:
    Fix Installing .NET Framework 3.5 failed Error Code 0x800F0954 on Windows 10
    RHEL8安装五笔输入法
    Enable EPEL and Local Repository on RHEL8
    Why is Yum Replaced by DNF?
    检查Linux服务器是否被攻击的常用命令及方法
    IDEA 主题
    IDEA 如何显示一个类中所有的方法
    Appium 安装以及安装过程中遇到的问题
    Maven 如何发布 jar 包到 Nexus 私库
    java泛型的基本使用
  • 原文地址:https://www.cnblogs.com/fuze/p/6245076.html
Copyright © 2020-2023  润新知