没有通过iframe传递的会话或Cookie

时间:2014-01-06 13:34:42

标签: c# asp.net session iframe cookies

我正在尝试在iframe和我的主页之间传递数据,但会话根本没有传递,也没有传递cookie。 我无法将其作为查询传递,因为我不想像那样重新加载页面。 大多数情况下,我想从iframe获取数据,尽管示例显示了其他内容,但它更容易理解。

下面是我的主页代码:

 // Session["Page"] = GetCurrentPageName(); I tried this too
        Response.Cookies.Add(new HttpCookie("Page", GetCurrentPageName())); //Page name is an example   
         SignPad = new LiteralControl("<iframe border='0' frameborder='0' allowTransparency='true' id='" + ((Control)sender).ID + "frame"  name='embeddedFrame' runat=server src='www.website.com/SignPad.aspx"></iframe>");
        ((Control)sender).Parent.Controls.Add(SignPad);

这是我背后的iFrame代码:

protected void Unnamed_Click(object sender, EventArgs e)
{
    Response.Cookies.Add(new HttpCookie("TheSignature",Request.Form["TheData"]));
    Response.Redirect(Request.Cookies["Page"].Value);
}

无论如何都没有回应。 我是傻瓜还是有某种限制?

1 个答案:

答案 0 :(得分:0)

在创建新的iFrame时,请注意将完整的url地址作为源写入将使其处理,就好像它不在同一个域上一样。 作为解决方案,只写入源页面的名称。

有关会话存储位置的更多信息,请参阅: http://msdn.microsoft.com/en-us/library/ms178581.aspx