我有一个带有列表框控件的aspx页面.列表框是从页面加载时从服务检索的集合中填充的.当用户从列表框中选择一个项目时,页面会回发,在重新加载之前将检索到的对象添加到会话中.在重新加载时,我使用会话对象而不必再次调用服务.
这一切都正常,直到我从iFrame中访问该页面.当页面在iFrame中时,不会检索Session对象(Session [“blah”]为null).当页面不在iFrame中时,此代码可以正常工作.
我正在使用IIS7和Windows Server 2008.在ISS中我是否需要做任何事情来允许在iFrame中使用Session变量?有没有人知道可能导致这种情况发生的任何其他事情?
谢谢,
尼尔
解决方法
IE为iframe中加载的第三方内容提供较低级别的信任.这会阻止会话cookie.
您可以通过在IIS中设置P3P标头来解决此问题:
Name = p3p Value = CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"
也可以看看
> Cookie blocked/not saved in IFRAME
in Internet Explorer
> Compact P3P settings with IIS7