日期:2014-05-20  浏览次数:20471 次

Cookie中的子键值丢失?
在一个页面中设置了一个Cookie及其子键:
Response.Cookies.Add(new   HttpCookie( "Cart "));
Response.Cookies[ "Cart "].Value   =   "0 ";
Response.Cookies[ "Cart "].Values.Add( "ProductA ",   "1 ");
Response.Cookies[ "Cart "].Expires   =   DateTime.Now.AddDays(1);   Response.Write(Response.Cookies[ "Cart "]   ==   null);
Response.Write(Response.Cookies[ "Cart "].Values.Count);

这时输出是False和1,表示有了一个子键。但使用Response.Redirect重定向到另一个页面后
Response.Write(Response.Cookies[ "Cart "]   ==   null);
Response.Write(Response.Cookies[ "Cart "].Values.Count);
输出竟然是False和1,表示Cookie还在,但子键没有了?
为什么???


------解决方案--------------------
晕你的第二个页面 应该是取cookie啊
在第二个页面中
Response.Write(Response.Cookies[ "Cart "] == null);
现执行了Response.Cookies[ "Cart "] 然后比较
Response.Cookies[ "Cart "] == null当然是 false

Response.Write(Response.Cookies[ "Cart "].Values.Count);
上面的操作你没有给cookies[ "cart "] 任何值 当然是0了啊
应该是
Response.Write(Request.Cookies[ "Cart "] == null);

Response.Write(Request.Cookies[ "Cart "].Values.Count);

------解决方案--------------------
同意hertcloud