asp.net c#中对cookie的操作

时间:2022-09-03 18:35:24

// 写cookie
HttpCookie cookie = new HttpCookie("Info");//定义cookie对象以及名为Info的项
DateTime dt = DateTime.Now;//定义时间对象
TimeSpan ts=new TimeSpan(1,0,0,0);//cookie有效作用时间,具体查msdn
cookie.EXPires = dt.Add(ts);//添加作用时间
cookie.Values.Add("user","cxbkkk");//增加属性
cookie.Values.Add("userid","1203");
Response.AppendCookie(cookie);//确定写入cookie中        读取cookie
if(Request.Cookies["Info"]!=null)
{
     string temp=Convert.ToString(Request.Cookies["Info"].Values["user"])+"  "+Convert.ToString(Request.Cookies["Info"].Values["userid"]);
    //读全部就用Request.Cookies["Info"].Value)
     if(temp=="")
     {
         Response.Write("空");
     }
     else
        Response.Write(temp);
}
else
{
    Response.Write("error");
}        修改cookie
Response.Cookies["Info"]["user"] = "2";
Response.Cookies["Info"].Expires = DateTime.Now.AddDays(1);      

// 删除cookie下的属性
HttpCookie acookie=Request.Cookies["Info"];
acookie.Values.Remove("userid");
acookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(acookie);        删除所有cookie,就是设置过期时间为现在就行了
int limit=Request.Cookies.Count - 1;
for(int i=0;i<limit;i++)
{
   acookie = Request.Cookies(i)
   acookie.Expires = DateTime.Now.AddDays(-1)
   Response.Cookies.Add(acookie)
}


// 读取所有 cookies
HttpCookieCollection cookies;
HttpCookie oneCookie;
cookies = Request.Cookies;

string[] cookieArray = cookies.AllKeys;
for (int i=0; i < cookieArray.Length; i++)
{
 oneCookie = cookies[cookieArray[i]];
 Response.Write(oneCookie.Name + " - " + oneCookie.Value);
}

// 添加单个cookies
if (Request.Browser.Cookies == true)
{
 if (Request.Cookies["LastVisited1"] == null)
 {
  HttpCookie newCookie = new HttpCookie("LastVisited1",DateTime.Now.ToString());
  newCookie.Expires = DateTime.Now.AddYears(1);
  Response.Cookies.Add(newCookie);
 }
 else
 {
  Response.Write(Request.Cookies["LastVisited1"].Value);
 } 
}