我正试图使用asp.net中的以下代码将会话变量从一个页面传递到另一个页面:
HttpContext.Current.Session["FacebookID"] = id;
这在Firefox和Chrome上运行得很好,但当我试图在InternetExplorer9中从另一个页面获取该值时,它不起作用,我甚至在兼容模式下尝试了它。它只是返回null。
有人对我的会话变量为什么不存储有什么建议吗?
你在IE中关闭了Cookies吗?如果是这样,它将无法跟踪您的会话,除非您将会话状态更改为无烹饪。。。
我知道你已经得到了答案,但对于其他有同样问题的人来说:
这可能是隐私偏好(P3P)问题。在这种情况下,您必须添加一个P3P标头,类似于。。。
HttpContext.Current.Response.AddHeader("p3p", "CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"");
阅读Peter Bromberg的博客了解更多信息:http://petesbloggerama.blogspot.se/2007/08/aspnet-loss-of-session-cookies-with.html