注销c#无法正常工作

时间:2011-10-07 09:11:25

标签: c# asp.net c#-4.0

我有以下代码注销。当它退出注销但按下后退时,它不应该转到之前访问过的页面,但确实如此。

//登录时

if (txtPassword.Text == password)
                {
                    Session["Login"] = true;
                    Response.Redirect("AdminControlPanel.aspx");
                }

//注销时

Session["Login"] = false;
            Session.Abandon();
            FormsAuthentication.SignOut();
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.Cache.SetAllowResponseInBrowserHistory(false);
            Response.Redirect("~/index.aspx");

//检查adminpanel.aspx

if (!this.Page.IsPostBack)
            {
                if (this.Session["Login"]==null || (bool)this.Session["Login"]==false)
                {
                   base.Response.Redirect("~/index.aspx");
                }
            }

这有什么问题?

2 个答案:

答案 0 :(得分:3)

尝试设置Cache-Control

Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetAllowResponseInBrowserHistory(false);

答案 1 :(得分:0)

将值分配给session变量

时,可能会出现问题

if (txtPassword.Text == password)中设置一个断点并检查 会发生什么。

if (!this.Page.IsPostBack)
            {            
             if (!string.IsNullOrEmpty((string) Session["Login"]))
             {
                  var result = Convert.ToBoolean(Session["Login"]); //put a break point there also and check what values it getting
              }


            }