我做了一个信息发布的系统,在测试时发现一个情况:当我没有登录的时候,点击发布页面会提示“未登录”;登录后,直接退出,点击发布页面还是会提示“未登录”;但是,一旦在登录后,点击了发布页面,然后再退回首页,退出系统,点击发布页面,界面就会停留在没退出系统的状态,就算是换了个用户登录,状态也是维持在上一个用户的状态。在发布页面放上一个Label控件,发现里面显示的Session一直没清除,各位高手,请问这个问题要怎么解决?

解决方案 »

  1.   

    对不起,记错了,应该是下面的.两个都可以,任选.        Session.RemoveAll();
            Session.Clear();
      

  2.   

    试了下,还是不行啊,首页的可以清除,但是发布页的就是清除不了     protected void LinkButton1_Click(object sender, EventArgs e)
        {
            Session["UserName"] = null;
            Session.RemoveAll();
            Response.Redirect("index.aspx");
        }
    LinkButton1_Click是退出系统的事件
      

  3.   

    public class check:System.Web.UI.Page
    {
    public check()
    {
    //
    //TODO: 在此处添加构造函数逻辑
    //
            this.Load += new EventHandler(link_load);
    }
        void link_load(object sender, EventArgs e)
        {
            if (Session["username"] == null)
            {
                Response.Write("<script   language=javascript>alert('对不起,您的登录时间已过期,请重新登录!'); parent.location.href='Login.aspx';</script>");
            }
        }
        public SqlConnection GetConnection()
        {
            return new SqlConnection(ConfigurationManager.AppSettings["link"].ToString());
        }
    }
    这样就可以了
      

  4.   

    可能是缓存问题...
    Page_Load中加上
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    试试
      

  5.   

    Session["UserName"] = null;
    加上这句:(取消会话)
    Session.Abandon();
      

  6.   

     HttpCookie aCookie;
            string cookieName;
            int limit = Request.Cookies.Count;
            for (int i = 0; i < limit; i++)
            {
                cookieName = Request.Cookies[i].Name;
                aCookie = new HttpCookie(cookieName);
                aCookie.Expires = DateTime.Now.AddDays(-1);
                Response.Cookies.Add(aCookie);
            }
      

  7.   

    怎么会不行的?
    我在我的网站上就是这么用的
    百试不爽
    除非你还用了Cookie
      

  8.   

    不知道,我也郁闷呢,从别人地方copy的代码,别人可以,我就是不可以