日期:2014-05-18  浏览次数:20434 次

用Session做实现退出登录,怎么也不行
做了两个页面
A页面:   登录页面,放置了用户名和口令两个文本框和一个按钮
      html:
<body>
        <form   id= "form1 "   runat= "server ">
        <div>
                <asp:TextBox   ID= "uid "   runat= "server "> </asp:TextBox>
                <asp:TextBox   ID= "pwd "   runat= "server "> </asp:TextBox>
                <asp:Button   ID= "Cmd "   runat= "server "   OnClick= "Cmd_Click "   Text= "登录 "   /> </div>
        </form>
</body>

      cs:
      protected   void   Cmd_Click(object   sender,   EventArgs   e)
        {
                if   (uid.Text   ==   "a "   &&   pwd.Text   ==   "123 ")
                {
                        Session[ "login "]   =   "ok ";
                        Response.Redirect( "B.aspx ");
                }
        }

B页面:放了一个按钮,点击这个按钮,退出Session
      html:
      <body>
        <form   id= "form1 "   runat= "server ">
        <div>
                <asp:Button   ID= "Button1 "   runat= "server "   OnClick= "Button1_Click "   Text= "退出登录 "   /> </div>
        </form>
</body>

      CS:
      protected   void   Page_Load(object   sender,   EventArgs   e)
        {
                if   (Session[ "login "]   ==   null)
                        Response.Redirect( "A.aspx ");
                else
                        if   (Session[ "login "]   !=   "ok ")
                                Response.Redirect( "A.aspx ");
        }
        protected   void   Button1_Click(object   sender,   EventArgs   e)
        {
                Session[ "login "]   =   null;
        }

      现在出现的问题是:如果直接打开B页面,自动会回到A页面,但是如果在A页面上成功登录,进入B页面,接着点那个退出登录按钮,这个时候在地址栏里输入B页面地址,并不能跳到A页面,感觉是Session[ "login "]   =   null   没有起作用。