注销页面 logout的代码如下(它只是个中间过渡页面,目的只是把所有Session值消掉,然后跳回到登录login页面)
                        Session.Clear();
Session["UserName"]=null;
Session["Login"]=null;
Session["userID"]=null; 
Session["Ename"]=null; 
Session["prevpage"]=null;
         Response.Redirect("Login.aspx");
注销后跳回到login登录页面后,login代码中对上述Session赋值后,
再Response.Redirect("Default.aspx");到Default页面,
发现Default页面的Session值已经更新了,
但是当转到其他页面后(用html中的<a href>方式跳转)
发现这些页面的Session值“还是维持注销前的Session值”,
只有把页面刷新一遍才会显示正确的重新登录后的Session值,真是ft。大家看看我是哪里出了错了,
或者向我指点迷津,告诉一下你们注销的代码。
3xs

解决方案 »

  1.   

    用Session.Contents.Remove("Session名")试试
      

  2.   

    不用写那么多,一句话:
    Session.Abandon();
      

  3.   

    Session.Abandon();
    用了 还是 会出现 Session值没有刷新的情况
      

  4.   

    IE-〉工具-〉internet 选项-〉常规-〉设置-〉将自动改为“每次访问此页时检查”。
      

  5.   

    IE-〉工具-〉internet 选项-〉常规-〉设置-〉将自动改为“每次访问此页时检查”。
      

  6.   

    Session.Remove("SessionName");就可以了
      

  7.   

    设置了
    IE-〉工具-〉internet 选项-〉常规-〉设置-〉将自动改为“每次访问此页时检查”。
    还是不行!
      

  8.   

    session.timeout();
    至于参数查查msdn
    当然用这种方法必须给session设置一个时间值
      

  9.   

    你把你的代码都写到gloable.asmx中
    protected void Session_End(Object sender, EventArgs e)
    {   Session.RemoveAll();
             Response.Redirect("Login.aspx"); }
      

  10.   

    常用的事我的方法:login.aspxSession["UserName"]="aaaa"out.aspxSession["UserName"]=""if (Session["UserName"]!=null && Session["UserName"].ToString()!="")
    {
    }
      

  11.   

    这有什么奇怪的,你难道没试过在CSDN这儿登录两个帐号吗,同样是要刷新才会更新的
      

  12.   

    根本不是什么session没有更新,而是IE读取了本机缓存中的页面,你可以在重新访问前清空这些文件,就不会有了