0

我正在创建一个 cookie 并在其中获取一个文本框值。我需要使其过期,然后必须通过检查它是否已过期来打印一条消息。我正在执行以下操作

 HttpCookie usercookie = new HttpCookie("userinfo");
        Response.Cookies["gettingusername"].Value = textbox_username.Text;
        Response.Cookies["gettingusername"].Expires = DateTime.Now;
        Response.Cookies.Add(usercookie);
        if (Request.Cookies["gettingusername"]!=null)
        {
            Response.Write("Cookie is Not Expired");
        }
        else
        {
           Response.Write("Cookie Expired");
        }

但它总是说:-

Cookie is Not Expired  

我是新手。请帮忙。提前致谢。

4

5 回答 5

4

你可以这样做:

myCookie.Expires = DateTime.Now.AddDays(-1);

if(myCookie.Expires > DateTime.Now)
  Response.Write("Cookie not Expired");
else
  Response.Write("Cookie Expired");
于 2012-09-26T11:23:08.873 回答
1

浏览器负责删除过期的 cookie。您只需要设置将来到期的时间。例如 :

if (Request.Cookies["gettingusername"] != null)
{
    Response.Write("Cookie is not expired")
    Response.Write("Value exists : " + Request.Cookies["gettingusername"]);
}
else
{
   Response.Write("Cookie is expired, creating a new cookie.");
   Response.Cookies.Add(new HttpCookie("gettingusername")
   {
       Value = textbox_username.Text,
       Expires = DateTime.Now.AddDays(1)
   });
}
于 2015-01-26T14:51:04.903 回答
0

尝试以下...

if (Request.Cookies["gettingusername"] != null)
{
    HttpCookie myCookie = new HttpCookie("userinfo");
    myCookie.Expires = DateTime.Now.AddDays(-1);//add -1 days
    Response.Cookies.Add(myCookie);
}
于 2012-09-26T11:13:18.887 回答
0

无法确切了解您要达到的目标。您应该设置它们并检查它们是否以不同的方法过期。

例如,您可以在按下“设置 cookie”按钮时设置 cookie,并在“过期 Cookie”操作中使它们过期

于 2012-09-26T11:14:24.267 回答
0

这就是您现在可以删除 cookie 的方法..!

Response.Cookies["MyCookie"].Expires = DateTime.Now.AddDays(-1);
于 2021-01-06T01:30:02.167 回答