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

关于退出登录并清空Session
页面的一些内容根据Session里存的不同值来设置可见性。现有一按钮实现退出登录功能,并跳转至登陆页面,实现如下:

protected void LinkButton2_Click(object sender, EventArgs e)
    {
        Session.Remove("EmpName");
        Session.Remove("EmpID");
        Session.Remove("EmpPwd");
        this.Response.Redirect("Login.aspx");
    }

并且在主页的载入页面代码中判断是否是匿名登录:

protected void Page_Load(object sender, EventArgs e)
    {
        if(Session["EmpID"]==null)
        {
            Response.Write("<script>alert('您未登录,即将跳转至登录页面!');window.location.href ='Login.aspx'</script>");
        }
    }

现在的情况是:点击退出登录,返回了登陆页,并且调试发现Session也都清空了。但是点击浏览器的后退按钮,又会回到之前的页面(但是目前Session值已经清空了),需要再刷新该页面一次,才会弹出 未登录的提示跳转。不知道如何实现即使点后退按钮,直接出现未登录提示?
------最佳解决方案--------------------
 response.setHeader("Cache-Control", "no-cache");

       

        response.setHeader("Cache-Control", "no-store");

       

        response.setDateHeader("Expires", 0);

       

        response.setHeader("Pragma", "no-cache");

让客户端不缓存,浏览器后退到此页面时,就会重新请求服务端
------其他解决方案--------------------
你那个后退是浏览器缓存文件吧?
META 加个
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
<META HTTP-EQUIV="expires" CONTENT="0">

试试
------其他解决方案--------------------
 Response.Write("<script>alert('您未登录,即将跳转至登录页面!');window.location.replace('Login.aspx')</script>");
------其他解决方案--------------------
加上ispostback pageload里面
------其他解决方案--------------------
引用:
Response.Write("<script>alert('您未登录,即将跳转至登录页面!');window.location.replace('Login.aspx')</script>");


试过了,还是不行。点击后退,有直接回去了,无任何提示。。。
------其他解决方案--------------------
引用:
加上ispostback pageload里面


加了,也不行。。。
------其他解决方案--------------------
http://blog.csdn.net/deepwishly/article/details/7347451
------其他解决方案--------------------
你在客户端加入一个cookie,用户点击退出时,你清理了session,也同时清理这个cookie,然后点击那个回退按钮的那个页面,判断一下cookie,这样就可以了
------其他解决方案--------------------
引用:
http://blog.csdn.net/deepwishly/article/details/7347451


可作为参考,不过不是根本上解决问题。还是谢谢了!
------其他解决方案--------------------