asp.net(c#)2.0 生成cookie的代码:
HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
Response.Cookies.Add(authCookie);删除cookie的代码:if (Request.Cookies["authCookie"] != null)//断点调试的时候,IF里面的代码是执行了的,但是COOKIE还是存在
{
HttpCookie myCookie = new HttpCookie("authCookie");
myCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(myCookie);
} 请帮帮看看问题所在???关注^^
HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
Response.Cookies.Add(authCookie);删除cookie的代码:if (Request.Cookies["authCookie"] != null)//断点调试的时候,IF里面的代码是执行了的,但是COOKIE还是存在
{
HttpCookie myCookie = new HttpCookie("authCookie");
myCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(myCookie);
} 请帮帮看看问题所在???关注^^
这个代码调试的时候出错: 无法对属性或索引器“System.Web.HttpCookieCollection.this[string]”赋值 -- 它是只读的
调用 Cookies集合的 Remove方法只能从服务器端的集合中移除 Cookie,使 Cookie 不会被发送至客户端客户端的Cookie还是存在的!
cookie删除只能设置超时
楼主不要重新生成cookie对象,应该是要取得当前cookie然后设置超时就行了
HttpContext.Current.Response.Cookies[cookieName].Expires = DateTime.Now.AddDays(-1);
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)
}
2.今天有空就把操作cookie的写了,虽然很简单,不过免得到时候忘记了,之前就是忘记了还很实验了一番才弄出来,郁闷了。
下面是写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)
} 这下不用到处找了
试了一下,还是cookie还是存在啊!!!
acookie.Expires = DateTime.Now.AddDays(-1)
Response.Cookies.Add(acookie)
这个代码我也试了,COOKIE还是存在的!
HttpCookie cookie = new HttpCookie("zljk_user", this.txtuser.Text.Trim());
Response.Cookies.Add(cookie);删除:
HttpCookie cookie = new HttpCookie("zljk_user", null);
cookie.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie);