我正在尝试使用 asp.net 中的以下代码将会话变量从一个页面传递到另一个页面:
HttpContext.Current.Session["FacebookID"] = id;
这适用于 Firefox 和 Chrome,但当我尝试从 Internet Explorer 9 中的另一个页面获取该值时,它不起作用,我什至在兼容模式下尝试过。它只是返回空值。
有人对为什么我的会话变量不存储有任何建议吗?
我正在尝试使用 asp.net 中的以下代码将会话变量从一个页面传递到另一个页面:
HttpContext.Current.Session["FacebookID"] = id;
这适用于 Firefox 和 Chrome,但当我尝试从 Internet Explorer 9 中的另一个页面获取该值时,它不起作用,我什至在兼容模式下尝试过。它只是返回空值。
有人对为什么我的会话变量不存储有任何建议吗?
你在 IE 中关闭了 Cookies 吗?如果是这样,除非您将会话状态更改为无cookie,否则它将无法跟踪您的会话...
我看到您已经得到了答案,但对于其他有同样问题的人来说:
这可能是隐私偏好 (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