2014-01-31 14 views
3

我有一个包含iframe的登录页面和导航页面的项目。项目中的所有其他页面都在iframe之内加载。 我正在设置一个会话值来存储来自登录页面的用户标识。登录后,当我点击iframe内部加载的某些页面,然后点击iframe之外的asp按钮(在导航器页面中)时,我的会话值变为空。IE 11问题:会话在Iframe回发中变为空...?

当我搜索互联网,我发现,添加隐私首选项项目(P3P)头可以解决的issue.So我添加它在登录页面,导航页面,并在其中加载的iframe类似下面的内页:

private void Page_PreInit(object sender, System.EventArgs e){ 
HttpContext.Current.Response.AddHeader ("p3p","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""); 
} 

但仍然只使用Internet Explorer 11

同样的问题,为什么会出现这种情况?请分享您的宝贵建议以解决问题。

+2

有关这方面的消息吗? – raym0nd

+1

你试过了吗? 'header('P3P:CP =“Potato”');' –

+0

是否有可能,您的IE11禁用了Cookie? – RononDex

回答

4

问题出在W3C标准,称为隐私偏好平台或简称P3P。你可以通过链接阅读所有关于无聊的东西,或者只需安装下面的P3P Compact Policy标题。这将允许Internet Explorer接受您的第三方cookie。您需要在设置Cookie的每个页面上发送标题。

需要在Global.asax文件中添加此头东阳,你需要在所有文件中加入这个头..

前几天我有同样的问题,当所谓的页面从I帧,我没有得到当页面被称为I帧,但我在所有IE浏览器这个问题会话值..

这里是我的解决方案 在

Global.asax文件

protected void Application_BeginRequest(object sender, EventArgs e) 
    { 
     HttpContext.Current.Response.AddHeader("p3p", "CP=\"CAO PSA OUR\""); 
    } 

及其作品我..

P3P问题

IE有一个新的功能,除非特定的头球攻门被送往澄清网络机应用的意图,将拒绝在某些情况下会。这似乎很可能,所以我试了一下。

如果u添加此对头部

'CP = “IDC DSP COR ADM德维戴氏PSA PSD IVAi IVDI CONI他对我们IND CNT”'

它没有工作,所以它是什么其他。