无法从cookie设置/获取值

O.O*_*O.O 1 c# asp.net cookies

我有一个非常简单的页面,其中包含以下逻辑:

protected void Page_Load(object sender, EventArgs e)
{
    if (null == Response.Cookies["UserSettings"].Value)
    {
        HttpCookie cookie = new HttpCookie("UserSettings");
        cookie.Value = "The Big C";
        cookie.Expires = DateTime.Now.AddDays(10);
        Response.Cookies.Add(cookie);
    }
    else
    {
       // got here
    }
}
Run Code Online (Sandbox Code Playgroud)

我在the if和the 中都设置了断点,else并且else断点永远不会被击中.该if声明每次都会被击中.这可能有什么问题?

谢谢!

She*_*Pro 5

你为什么检查Response.Cookies你应该检查Request.Cookies.响应仍在创建中..

更新

看,当您添加使用一个Cookie HttpResponse.Cookies集合时,cookie是立即可用的HttpRequest.Cookies集合中,即使响应尚未被发送到客户端.但是,即使在添加之前,您也在检查Collection中的cookie .所以你需要在Request.Cookie Collection中检查它