Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在c#中注销不工作_C#_Asp.net_C# 4.0 - Fatal编程技术网

在c#中注销不工作

在c#中注销不工作,c#,asp.net,c#-4.0,C#,Asp.net,C# 4.0,我有下面的代码注销。当它退出时,但当按下back时,它不应该转到以前访问过的页面,但它确实转到了 //登录时 if (txtPassword.Text == password) { Session["Login"] = true; Response.Redirect("AdminControlPanel.aspx"); } //注销时 Session[

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

//登录时

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");
                }
            }
这有什么问题?

尝试设置

试着设定


会话
变量赋值时可能会出现问题

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


会话
变量赋值时可能会出现问题

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


在其上放置断点并检查会话[“登录”]的值。是否可能重复?你无法控制浏览器、浏览器之间的所有代理以及目前为止处理用户按下“后退”键的方式。这可能就是为什么这么多注销页面要求用户关闭浏览器窗口的原因。链中任何数量的中间人都可能会或不会正确遵守缓存控制,只要数据曾经在浏览器中查看过,它就可能在一个或多个缓存中,并且可以恢复。在其上放置断点并检查会话[“Login”]的值。是否可能重复?你无法控制浏览器、浏览器之间的所有代理以及目前为止处理用户按下“后退”键的方式。这可能就是为什么这么多注销页面要求用户关闭浏览器窗口的原因。只要数据曾经在浏览器中查看过,链中任何数量的中间人都可能会或不会正确遵守缓存控制,在此过程中,它可能位于一个或多个缓存中,并且可以恢复。您是否可以将代码放在您使用asp.net成员资格提供程序将值分配给会话的位置?您是否可以将代码放在您使用asp.net成员资格提供程序将值分配给会话的位置?
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetAllowResponseInBrowserHistory(false);
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
              }


            }