ASP.NET覆盖cookie

时间:2015-11-23 02:29:45

标签: asp.net cookies

我无法覆盖cookie的价值。用户第一次提交用户名时,cookie会在浏览器中正确存储并正确显示。但是,当用户尝试提交不同的用户名时,页面将刷新,并且仍然会设置旧cookie。这是我希望可以理解的代码,任何帮助都表示赞赏。

_score

1 个答案:

答案 0 :(得分:1)

使用DateTime.Now.AddDays(-1)代替DateTime.Now.AddDays(7d)

protected void Cookie_Encode(object sender, EventArgs e)
{
    // Encoding username in Base64
    var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(User_box.Text);
    string Encoded_user = System.Convert.ToBase64String(plainTextBytes);

    // Creating and setting the cookie
    HttpCookie myCookie = new HttpCookie("UserSettings");
    myCookie["UserName"] = Encoded_user;
    myCookie.Expires = DateTime.Now.AddDays(-1);
    Response.Cookies.Add(myCookie);

    Response.Redirect(Request.RawUrl);
}