Session过期的跳转处理
各位好:
我有一个页面里面在Session中存储了几个值。但是我发现Session过期后,会导致页面报错。
于是在Page_Load里面加一个判断,如果过期了,弹出提示,然后跳转到首页。
if (IsPostBack)
{
if (Session["selectNode"] == null)
{
//Response.Redirect("default.aspx");
//Page.ClientScript.RegisterStartupScript(this.GetType(), "Redirect", "<script type='text/javascript'>top.location=\"default.aspx</script>");
Response.Write("<script type='text/javascript'>alert();</script>");
Response.End()
//return;
}
}
因为我是一个有多个Frameset的页面,所以不能用redirect。如果不用Response.End(),Page_Load执行完后还会执行定义的按钮事件,出现异常。如果用Response.End(),通过脚本跳转的方式又不会执行。
求指点。
------解决方案--------------------
Response.Write("<script type='text/javascript'>window.parent.location='login.aspx'</script>");
//基于父页面进行跳转
------解决方案--------------------不回发 首次加载页面时判断,然后去掉Response.End()
IsPostBack
=>
if(!IsPostBack)
------解决方案--------------------Response.Redirect("login.aspx");//若session为空跳转首页
------解决方案--------------------执行Click事件前判断一下,过期就不要执行了
------解决方案--------------------这样给你说嘛 ,你在page_load中处理session这时没过期的情况不会出错,
但是在Click的时间session过期了 所以还是会出错,最好呢,你在事件里也判断下就好了
------解决方案--------------------