转载 清除session会话客户端缓存收藏

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

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

发表于 @ 2008年04月23日 22:46:18|评论(loading...)

新一篇: SQL查询语句精华 | 旧一篇: meat标签http-equiv属性的使用

Csdn Blog version 3.1a
Copyright © 王睿