清除session会话客户端缓存

        在一个 linkButton 的单击事件中,我编写了注销当前用户的功能,如下所示:(框架中的一个子页面有这个控件)
protected void LinkButtonLogout_Click(object sender, EventArgs e)
    {
        this.Session.Clear();
        this.Session.Abandon();
         Response.Write(" window.parent.location='../login.aspx'; ");  //
让父框架转到登陆页面。
    } 

       
可是,之后我在当前的 IE 地址栏里输入刚才访问过的一个页面,还是能显示出数据,手动刷新一次才转回了登陆页面。
 
原因:这个不是 session 的问题,应该是 IE 缓存造成的现象。就是说你再次访问页面之后,并没有访问服务器,而是访问的本地缓存页面。
使 Session.Clear() Session.Abandon() 立即生效的解决方案:
   取消客户端缓存。
如果页面用 abc.aspx?id =""  查询字符串的形式访问浏览器,则会认定是不同的页面( abc.aspx 页面及 id 不同的形如 abc.aspx?id ="" 的页面都是不相同的),不会从本地客户端缓存读取页面,而是从服务器读取页面。

你可能感兴趣的:(asp.net,session,javascript,服务器,框架,浏览器,ie)