如何在Cookie过期时显示内容

时间:2010-07-13 18:35:12

标签: asp.net

当有人来到网站并且没有cookie时,我想要显示视频。在他们看到视频后,会添加一个Cookie,但是当Cookie过期时,视频会再次播放。

if (Request.Cookies["x"] != null)
    {
        //do nothing
    }
    else
    {
        ModalPopupExtender1.Show();
        Response.Cookies["x"].Value = DateTime.Now.ToString();
        Response.Cookies["x"].Expires = DateTime.Now.AddHours(24);
    }

我认为这样可以正常工作,但是电影只显示浏览器是否清除了所有cookie。 24小时后,电影将无法播放。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您应该检查cookie是否为空且是否已过期。显然,cookie仍然在用户的浏览器上,但过期并且什么都不做。

if (Request.Cookies["x"] != null && Convert.ToDateTime(Request.Cookies["x"].Expires) > DateTime.Now)
{  

    // do nothing
}
else
{
   // your other code


}

答案 1 :(得分:0)

if (Request.Cookies["x"] != null && Convert.ToDateTime(Request.Cookies["x"].Expires) < DateTime.Now)
    {
        //do nothing
    }
    else
    {
        ModalPopupExtender1.Show();
        Response.Cookies["x"].Value = DateTime.Now.ToString();
        Response.Cookies["x"].Expires = DateTime.Now.AddHours(24);
    }

他是对的,但逻辑有点不对。