Session:每个独立的浏览器都会创建一个独立的Session,不是一台电脑一个Session
存放位置:服务器上
作用:只要里面有内容,那么这个网站中所有的C#端都能访问到这个变量
优点:安全,速度快,全局访问无限制
缺点:消耗服务器内存资源
特性:Session在20分钟之内如果没有会话操作,则会自动释放
注意:1、不要存大量数据在Session里
2、临时Session取完无用后记得 = null清空它
语法:(1)用Session存值:Session["key名"] = 值; 值,不只是个字符串,可以是对象。
string a = "abcde"; Session["aa"] = a;
(2)从Session取值:类型 变量名 = (强制转换的类型名)Session["key名"]
if (Session["aa"] != null) { Label1.Text = Session["aa"].ToString(); }
(3)释放Session:释放某个Session:Session["key名"]=null;
释放所有Session:Session.clear();
自动释放:20分钟
案例
登录界面,登录成功后转向另一界面并显示“欢迎您XXX”加上当前时间
I,登录界面Default.aspx
protected void Button1_Click(object sender, EventArgs e) { if (TextBox1.Text.Length > 0 && TextBox2.Text.Length > 0) { Session["user"] = TextBox1.Text; Response.Redirect("Default2.aspx"); } }
II,显示页面Default2.aspx
protected void Page_Load(object sender, EventArgs e) { if (Session["user"] == null)//用户名为空,跳转到登陆界面 { Response.Redirect("Default.aspx"); } if (Session["test"] == null) { Session["test"] = DateTime.Now.ToString(); } Label1.Text =" 欢迎您:"+Session["user"].ToString()+"<br/>"; Label1.Text +=" " + Session["test"].ToString(); }
Cookie:保存在客户端内存或硬盘上
临时Cookie是存在浏览器内存中的,持久Cookie是存在电脑硬盘上浏览器相关的Cookie目录下的
作用:保存数据信息,只能保存字符串,全局访问
会话Cookie
1、浏览器一关,此次访问一中断
2、没有任何新的提交,20分钟过期
3、手动清楚浏览器Cookie
持久Cookie
1、代码设置过期
2、手动清楚浏览器Cookie
设置Cookie
//新建Cookie对象
HttpCookie cookie_name = new HttpCookie("uid");
//赋值
cookie_name.Value = uid;
//写入到Cookie里面
Response.AppendCookie(cookie_name);
用Cookie存值:Cookie["key名"] = 值; 值,只能是是个字符串。
string uid = "abcde"; Response.Cookies["aa"].Value = uid;
在使用界面:读取Cookie
Request.Cookies["uid"].Value.ToString();
if (Request.Cookies["uid"] != null) { Label1.Text = Request.Cookies["uid"].Value; }
案例
登录界面可选择保持登录状态3天,登录成功后转向另一界面并显示“欢迎您XXX”加上当前时间
I,登录界面Default.aspx
protected void Button1_Click(object sender, EventArgs e) { if (TextBox1.Text.Length > 0 && TextBox2.Text.Length > 0) {
Response.Cookies["user"] = TextBox1.Text;
if(CheckBox1.Checked)
{
Response.Cookies["user"].Expires = DateTime.Now.AddDays(3);
}
Response.Redirect("Default2.aspx"); } }
II,显示页面Default2.aspx
protected void Page_Load(object sender, EventArgs e) { if (Session["user"] == null)//用户名为空,跳转到登陆界面 { Response.Redirect("Default.aspx"); } if (Session["test"] == null) {
Request.Cookies["test"].Value = DateTime.Now.ToString(); } Label1.Text =" 欢迎您:"+Request.Cookies["user"].Value.ToString()+"<br/>";
Label1.Text +=" " +Request.Cookies["test"].Value.ToString(); }
跳转页面方式:
1.Response.Redirect("http://www.baidu.com");重定向,可以跳转任何网页
2.Server.Transfer("Main.aspx");只能跳转该网站根目录下的网站