日期:2014-05-17  浏览次数:20485 次

iframe Session丢失 跳转到登陆页面问题
我用2个iframe 拼在一起的页面,但是时间久了 session 会丢失
session丢失了以后 我用了
ClientScript.RegisterClientScriptBlock(this.GetType(), "loginfailure", "<script type='text/javascript'>javascript:alert('请先登录!');parent.location.href='../LoginUser.aspx';</script>");

还有 Response.Redirect("LoginUser.aspx");
但是登录页面还是嵌在iframe中。。 我要如何才能才能让Login.aspx不在iframe里出现呢,而是直接回到最外面的Login.aspx中,
请高手们指点个好方法啊。我上网查了好久试了都不行。


------解决方案--------------------
把地址赋给当前页面就可以了。

当前页面是iframe的父页面,或是父页面的父页面。
parent.location.href
parent.parent.location.href
------解决方案--------------------
ClientScript.RegisterStartupScript(this.GetType(), "", "alert('还没有登录,请先登录!');parent.window.location.href('../Login.aspx');", true);

Response.Write("<script>top.location.href='login.aspx';</script>");
------解决方案--------------------
这种方法也可以的。

在登陆页LoginUser.aspx的javascript中添加:
if (window != top) 
top.location.href = location.href; 

然后再代码控制,我的iframe就是这样解决的。

------解决方案--------------------
RegisterClientScriptBlock -> RegisterStartupScript
parent.location.href='../LoginUser.aspx'; -> window.top.location.href='../LoginUser.aspx';