【问题标题】:cookie check isn't workingcookie 检查不起作用
【发布时间】:2016-04-17 02:11:49
【问题描述】:

我在我网站的首页上放置了一个“试用”功能 - 基本上,访问者可以在浏览器中尝试我的网站所做的非常有限的一组操作,以了解它的全部内容。

我想放入一个持久性 cookie 以检查他们之前是否尝试过,如果是,则将他们引导到注册页面(我知道这不是万无一失的,但我没有在寻找对于 Fort Knox,任何想要避免检查的人无论如何都不会注册,我只是试图推动喜欢该功能的人注册。)

当用户点击试用按钮时,我的代码是:

//check cookie to see if this has been tried before
    HttpCookie myCookie = HttpContext.Current.Request.Cookies["myCookie"];
    if (myCookie == null)
    {
generateLink()
}
else {
response.Redirect(~/SignUp);
}

在 generateLink() 方法的末尾我有代码:

HttpCookie myCookie = new HttpCookie("myCookie");
    myCookie.Values.Add("HasTried", "True");
    myCookie.Expires = DateTime.Now.AddHours(9680);

但是“试试看”按钮总是会生成一个链接,并且永远不会触发 respone.redirect。我哪里错了?

【问题讨论】:

  • 顺便说一句,请参阅this 以了解正确的重定向方式。
  • 很有趣,谢谢 - 多年来一直用错了 :)

标签: c# cookies httpcookie


【解决方案1】:

您需要将 cookie 添加到响应中:

Response.Cookies.Add(myCookie);

如果你把它放在generateLink() 的代码末尾,它会将cookie 写入浏览器。

见: How to write a cookie,来自 MSDN。

【讨论】:

  • @Dave 不用担心。为什么接受然后不接受? :-\
【解决方案2】:
Response.Cookies.Add(myCookie);

最后不见了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多