Web内置对象 跨页面传值

内置对象:安全

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

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

Request - 获取请求对象网站

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

Response - 响应请求对象加密

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

Response.Write("  aaaa  "); 输出内容,通常用于输出JS语句。code

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

Session相对全局对象blog

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虽然不可以跨页面共享数据,可是在同一个页面里,能够用于在对同一页的多个请求之间保留值。

相关文章
相关标签/搜索