【发布时间】:2023-04-01 16:36:01
【问题描述】:
我正在尝试在 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);
}
无论如何,只是没有回应。 我是傻还是有什么限制?
【问题讨论】:
-
显而易见的第一个问题是 iframe 和主页是否在同一个域上?
-
是的,我没那么傻。他们在同一个域中
-
已解决。打开 iframe 时不要使用完整的 url,只使用实际名称,否则它认为你在同一个域上。很抱歉整个问题。
-
可悲的是,有些人太傻了,在看其他东西之前总是值得检查一下。因为这个问题在给出答案时似乎一点也不傻。我会把它作为答案(自我回答的问题很好),因为我认为它有一些价值。
标签: c# asp.net session iframe cookies