asp.net – 当页面在iFrame中时,会话变量不会保存

前端之家收集整理的这篇文章主要介绍了asp.net – 当页面在iFrame中时,会话变量不会保存前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有列表框控件的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

猜你在找的asp.Net相关文章