我已经阅读了很多关于iframe中会话问题的SO问题,但它似乎并不是我遇到的问题的确切答案。
我有一个php网站,在iframe中显示我的.aspx网站。
在Default.aspx
中,我从父(php)站点传递数据并将其存储在会话变量中,如下所示:
var c = HttpContext.Current;
string name1 = c.Request.Form["FirstName"];
string name2 = "Nancy";
Session["name1"] = name1;
Session["name2"] = name2;
lblTest1.Text = "name1 = " + Session["name1"];
lblTest2.Text = "name2 = " + Session["name2"];
打印结果为:
name1 = John
name2 = Nancy
问题是,Session [“name1”]失去了它的价值,但Sessoin [“name2”]在回发后仍然保持其值。
我尝试在下一页中打印这两个名字,如下所示:
lblTest1.Text = "name1 = " + Session["name1"];
lblTest2.Text = "name2 = " + Session["name2"];
结果是:
name1 = //blank
name2 = Nancy
我尝试在Session_Start中添加它
if (Request.IsSecureConnection)
{
Response.Cookies["ASP.NET_SessionID"].Secure = true;
}
并尝试Session Variables not saved when page is in an iFrame,但在任何浏览器(IE,FF,Chrome)中都会出现此问题。
name1的值来自父网站但是将它存储在会话中是不行的?