一、Request.QueryString
1.QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。
2.使用方法:
在源页面的代码中用需要传递的名称和值构造URL地址。
在源页面的代码用Response.Redirect(URL);重定向到上面的URL地址中。
在目的页面的代码使用Request.QueryString["name"];取出URL地址中传递的值。
二.Request.Form
1、Request.Form 获取窗体变量集合。有两重载,即Request.Form[string name]和Request.Form[int index]。
2、获取表单指定名字的参数值。
三、Session
1.作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。
2.当客户端向服务器发送一个请求时,如登陆用户ID,服务器接收到该请求,服务器端Session产生一个与该登陆用户相关的SessionID,并将SessioID返回给客户端(Goggle,Firefox,IE等),在新会话开始时,服务器将SessionID当做 cookie存储在用户的浏览器中。
3.优缺点
优点:1.使用简单,不仅能传递简单数据类型,还能传递对象。
2.数据量大小是不限制的。
缺点:1.在Session变量存储大量的数据会消耗较多的服务器资源。
2.容易丢失。
4.使用方法:1.在源页面的代码中创建你需要传递的名称和值构造Session变量:Session["Name"]="Value(或 object)";
2.在目的页面的代码使用Session变量取出传递的值。Result = Session["Nmae"]
session不用时可以销毁它,销毁的方法是:
清除一个:Session.Remove("session名");
清除所有:Session.Clear();
四、Cookie
1.Cookie用于在用户浏览器上存储小块的信息,保存用户的相关信息,比如用户访问某网站时用户的ID,用户的偏好等,用户下次访问就可以通过检索获得以前的信息。
2.Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。
3 .使用方法:
创建cookie
HttpCookie cookie = new HttpCookie("UserInfo");//创建多值cookie
cookie.Expires = DateTime.Now.AddDays(1);//设置cookie的失效时间为一天,如果不设置失效时间,cookie会在浏览器关闭即消失,不会保存本地文件
cookie.Values["LoginName"] = txtusername.Text;
cookie.Values["Pwd"] = txtusername.Text;
这样创建了一个key为UserInfo的cookie,具有LoginName和Pwd两个属性。
创建为cookie不要忘记添加cookie,否则是取不出来的
Response.Cookies.Add(cookie);
注:如果使用response.Cookies创建cookie就不用写上一句代码了。
取cookie
HttpCookie cookies = Request.Cookies["UserInfo"];//取cookie
txtusername.Text = cookies.Values["LoginName"];//取cookie的LoginName属性 赋值给帐号文本框
txtpass.Attributes.Add("value",cookies.Values["Pwd"]);//密码框不能直接赋值,使用添加属性可以赋值
Session与Cookie配对使用,Session在服务器端产生SessionID,并将该SessionID返回给客户端(IE,FireFox,Google等),客户端Cookie来存储该SessionID,整过会话过程中,只要保存SessionID的Cookie不丢失,则Session的信息就不会丢失。