using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class SetCookie : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Nuser.Text = "AA";
Npwd.Text = "aa";
Nsex.Text = "女";
Nage.Text = "18";
}
//设置Cookie
protected void Button1_Click(object sender, EventArgs e)
{
string user = Nuser.Text.ToString();
string pwd = Npwd.Text.ToString();
string age = Nage.Text.ToString();
string sex = Nsex.Text.ToString();
//1、添加Cookie对象
HttpCookie cookie = new HttpCookie("oneuser");
//添加成员
cookie["user"] = Convert.ToString(user);
cookie["pwd"] = pwd;
//另一种添加方法
cookie.Values.Add("age", age);
cookie.Values.Add("sex", sex);
//设置过期时间为当前时间后的一个小时
cookie.Expires = DateTime.Now.AddHours(+1);
//跨域读取Cookie
//当站点有子域时,及下个网站上还有另一个关联的站点时使用
//cookie.Domain = "另一站点1.aspx";
//将cookie对象添加进set-Cookie流
Response.AppendCookie(cookie);
}
//获取Cookie
protected void Button2_Click(object sender, EventArgs e)
{
HttpCookie cookie = Request.Cookies["oneuser"];
if (ex(cookie))
{
Response.Write("无Cookie\r\n");
return;
}
Response.Write("user: " + cookie["user"] + "\r\n");
Response.Write("pwd: " + cookie["pwd"] + "\r\n");
Response.Write("age: " + cookie["age"] + "\r\n");
Response.Write("sex: " + cookie["sex"] + "\r\n");
}
//修改Cookie
protected void Button3_Click(object sender, EventArgs e)
{
HttpCookie cookie = Request.Cookies["oneuser"];
if (ex(cookie))
{
Response.Write("无Cookie\r\n");
return;
}
cookie["age"] = "20";
Response.AppendCookie(cookie);
}
//删除Cookie
protected void Button4_Click(object sender, EventArgs e)
{
HttpCookie cookie = Request.Cookies["oneuser"];
if (ex(cookie))
{
Response.Write("无Cookie\r\n");
return;
}
//由于Cookie存储用户的计算机中,所以你无法直接将其删除。
//但是,你可以让浏览器来为你删除Cookie。方法为将Cookie的有效期设置为过去的某个日期。
//这样,在下次使用时(使用前会检查Cookie的有效期),就会删除这个已经过期了的Cookie
cookie.Expires = DateTime.Now.AddHours(-1);
Response.AppendCookie(cookie);
}
//判断是否存在Cookie
public static bool ex(HttpCookie cookie)
{
if (cookie == null)
{
return true;
}
else
{
return false;
}
}
protected void Button5_Click(object sender, EventArgs e)
{
Response.Redirect("getCookie.aspx");
}
}
}
在getCookie.aspx中获取setCookie.aspx页面设置的Cookie值
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class getCookie : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
HttpCookie cookie = Request.Cookies["oneuser"];
if (cookie == null || cookie["user"] == null)
{
Response.Write("无Cookie值");
return;
}
else
{
Response.Write("user: " + cookie["user"] + "\r\n");
Response.Write("pwd: " + cookie["pwd"] + "\r\n");
Response.Write("age: " + cookie["age"] + "\r\n");
Response.Write("sex: " + cookie["sex"] + "\r\n");
}
}
}
}