读取时Cookie值不正确。

时间:2014-04-15 10:05:43

标签: c# asp.net cookies

我有一个webforms应用程序,它使用cookie来存储一些临时数据,以便我可以进一步阅读它以执行其他一些功能。 这是设置/编写cookie的代码。

  Response.Cookies["Region"].Value = Convert.ToString(DropDownList1.SelectedItem);
                    Response.Cookies["Region"].Expires = DateTime.Now.AddDays(100);

                    HttpCookie dxs = new HttpCookie("Region");//cookie name
                    dxs.Values["Region"] = Convert.ToString(DropDownList1.SelectedItem);                     
                    dxs.Expires = DateTime.Now.AddDays(100);

                    Response.Cookies.Add(dxs);                       
                    Response.Cookies["Region"].Expires = DateTime.Now.AddDays(100);
                    Response.Redirect("~/HomePage.aspx");

这里我是如何读取cookie的

if (Request.Cookies["Region"] != null)//read cookie
            {
                HttpCookie aCookie = Request.Cookies["Region"];
                ab = Server.HtmlEncode(aCookie.Value);
            }
            else 
            {
                return;
            }

现在,这就是我的问题,在阅读时,它给出了像Region = xyz或Region = abc这样的值的cookie;附图。 Incorrect Cookie

我做错了什么?

赞赏任何和所有帮助..

1 个答案:

答案 0 :(得分:0)

dxs.Values - 获取单个cookie中包含的键/值对的集合。
您将此cookie的名称作为Region。
在这个cookie的旁边,你存储了一个项目的集合 - key = Region和value = Goa。

如果你想创建一个名为Region的cookie,而值为Goa,你可以试试 -

HttpCookie dxs = new HttpCookie("Region", Convert.ToString(DropDownList1.SelectedItem));

并将此cookie添加到您的Resopnse cookies集合中 -

Response.Cookies.Add(dxs);