我正在使用MVC3,并且从外部PHP网站(表单 - 帖子)调用该应用程序
我有这个:
Internet Explorer 9(9.0.8112.16421更新9.0.3)
家庭控制器 - 方法索引(字符串A,字符串B,字符串C)被调用
值很好并存储在会话中(会话[“A”],...)。
重定向到登录控制器。
登录控制器 - 调用方法Index()
会话值刚丢失(null)
Internet Explorer 8,Chrome&更多
家庭控制器 - 方法索引(字符串A,字符串B,字符串C)被调用
值很好并存储在会话中(会话[“A”],...)。重定向到登录控制器。
登录控制器 - 调用方法Index()
一切正常(值存储在会话中)
备注
当表单位于另一台主机上的PHP页面(可能是其他操作系统但无法肯定)与IE 9 时,会发生 ONLY 但是在我们的Intranet主机(IIS)或云主机(也是IIS)内部完全没有问题(即使使用IE9)。
我在视图上创建了一个示例代码:
@{
if (Session != null)
{
foreach (var item in Session.Keys)
{
ViewContext.Writer.Write(String.Format("{0}<br />", item));
}
}
else
{
ViewContext.Writer.Write("Session = null");
}
}
使用IE8,Chrome等,所有按键都在那里
但是使用IE9什么都没有,但会话也不是空的。它只是空的
有什么帮助吗?
答案 0 :(得分:0)
你可以告诉IE9模仿IE8:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
答案 1 :(得分:0)
找到答案。
在深入搜索谷歌后,我发现:
Session variable is lost on RedirectToAction in IE
Cookie blocked/not saved in IFRAME in Internet Explorer
两者都陷入了同样的核心问题。帧。 从页面中删除帧后,变量工作正常。