为什么会议失去价值? (MVC3仅从IE9上的PHP帖子中调用)

时间:2011-11-01 13:33:26

标签: asp.net-mvc-3 session iis-7.5

  

可能重复:
  Session variable is lost on RedirectToAction in IE

我正在使用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什么都没有,但会话也不是空的。它只是空的

有什么帮助吗?

2 个答案:

答案 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

两者都陷入了同样的核心问题。帧。 从页面中删除帧后,变量工作正常。