Post 传值(看不见的传值) Get 传值(看得见的传值)
Session - 全局变量组
存放位置:服务端
作用:只要里面有内容,那么这个网站中所有的C#端都能访问到这个变量 —— object类型
格式:
web1 后台代码:
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Button1.Click += Button1_Click; } //按钮点击事件 void Button1_Click(object sender, EventArgs e) { string s = TextBox1.Text; Session["un"] = s; } }
Session 是个一个object类型的“组”,可以放任何东西,string、int、数组等等
使用时先进行判断Session是否是Null,不为空时进行赋值(李献策lxc)
web2 后台代码:
public partial class Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (Session["un"] != null) { Label1.Text = Session["un"].ToString(); } } }
优点:安全、方便、全局访问无限制
劣势:消耗服务器内存资源(每一个用户是一条独立的通道,每一条通道有若干的Session,如果同时很多人访问,那么会造成服务器崩溃)
生命周期:20分钟
网页打开时会打开一个新的Session,此Session会存在20分钟,结束时自动清空,如果Session重新读取时将重新计时
当关闭网页时,,Session是不会取消的,仍然在倒计时;再重新打开网页时,会打开新的Session,旧的Session仍在后台计时
注意:1、不要大量数据在Session里,尽量不要放集合
2、临时Session取完无用后记得清空(李献策lxc)
Cookie - “全局变量组”
存放位置:客户端电脑硬盘上
作用:保存数据信息,只能保存字符串,全局访问 —— string类型
格式:
web1 后台代码:
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Button1.Click += Button1_Click; } //按钮点击事件 void Button1_Click(object sender, EventArgs e) { string s = TextBox1.Text; Response.Cookies["un"].Value = s; } }
Cookies 是一个String类型的“组”,只能存放字符串类型,以文本文档字符串类型存放在客户端某个地方
使用时先进行判断Cookies是否是Null,不为空时进行赋值(李献策lxc)
web2 后台代码:
public partial class Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (Request.Cookies["un"]!=null) { Label1.Text = Request.Cookies["un"].Value; } } }
优点:不消耗服务器资源、全局访问、只能保存字符串
劣势:消耗电脑资源、不安全(Cookie会被抓取)、不可靠(用户随时可以删除)
注意:不要用Cookie保存密码(登录成功后才会将用户名赋值给Cookie)
分类:会话Cookie 与 持久Cookie
生命周期:
1、会话Cookie - 20分钟
网页打开时会打开一个新的Cookie,此Cookie会存在20分钟,结束时自动清空,如果Cookie重新读取时将重新计时
删除办法:
(1)浏览器一关,此次访问已中断
(2)没有任何新的提交,20分钟后过期
(3)手动清除浏览器Cookie
2、持久Cookie - 可以设置时间
删除办法:(李献策lxc)
(1)代码设置过期
(2)手动清除浏览器Cookie
持久Cookie如何制作?
前台界面 - 当复选框被选中时,保持持久Cookie:
后台代码: