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