URL传值/QueryString
1、不占用服务器内存
2、保密性差,传递值的长度有限
因为 上篇文章 保密性差,长度有限 传值有限只能传string类型的值
这篇文章学的知识是
session
赋值
string s=TextBox1.Text;
session["aa"]=s; // aa只是传值名 也可以用别的传值名 接受用你传值的名
Response.Deriect("Default.aspx");
取值
Label1.Text=session["aa"].tostring();
假设 有个学生类传值
Student s=new Student();
s.name="张三";
s.sex=true;
session["aa"]=s;
Response.Dedirect("Default.aspx");
接受
Student s=session["aa"] as Student;
Label1.text=s.name;
存贮在服务端,占用服务器内存
很好用,速度很快
不要滥用,容易溢出
生命周期:20分钟,每一次新的请求都会刷新这个时间
浏览器一旦关闭(是同一个浏览器不是页面),那么会断开此条Session的连接
Cookie
与Session一模一样
不一样的地方:Cookies是存储在客户端的
传值
string s=TextBox1.text;
Response.Cookies["aa"].value=s;
取值
if(Request.Cookies["aa"]!=null) 假设没有接受值 设置对象为null
{
string ss=Request.Cookies["aa"].value;
Label1.text=ss;
}
与Session一模一样
不一样的地方:Cookies是存储在客户端的
Session很安全,但是消耗服务器内存
Cookies,不消耗服务器内存,存在客户端上,但是有可能被访问
持久cookies
假设期限为3天
Request.Cookies["aa"].Expires=Datetime.Now.Adddays(3);
退出 期限不抱持 期限为负数
Request.Cookies["aa"].Expires=Datetime.Now.Adddays(-10);
Application
传值和session一样
Application["aa"]=TextBox1.text;
Response.Dedirect("Default.aapx");
取值
string s=Application["aa"].tostring();
Label1.text=s;
存贮在服务器端,占用服务器内存(只要服务器不关闭或者或者重启)
生命周期:永久(可以当临时数据库用)
所有人访问的都是这一个对象