当前位置:编程学习 > C#/ASP.NET >>

退出登录并清空Session之后,IE浏览器的缓存问题怎么解决!!

最近做了一个网站的后台管理系统,登录验证是用的Session验证,并在web.config里面设置了管理目录的访问权限
但是发现了这样的一个问题:
当我正常登录后台管理页面之后。然后点击“退出管理页面”的链接,这个链接是跳到一个页面并在这个页面的page_load事件里面将整个站点的Session值清空。然后自动跳转到网站首页。
代码:

protected void Page_Load(object sender, EventArgs e)
    {
        Session.RemoveAll();//移除所有Session
        Response.Write("<script>location='../aspx/index.aspx'</script>");//跳到首页
    }

但是在IE的情况下,我再从地址栏输入后台管理的页面地址时,却可以直接进行后台管理!!
在火狐下要进行登录!!
请问各位大侠有没有什么好的办法解决这个问题啊!!! --------------------编程问答-------------------- //禁止缓存
Response.Cache.SetCacheability(HttpCacheability.NoCache); --------------------编程问答--------------------
引用 1 楼 yzf86211861 的回复:
//禁止缓存
Response.Cache.SetCacheability(HttpCacheability.NoCache);

这个禁止缓存要写在什么地方啊。每个页面都需要吗??还是在某个特定的页面?? --------------------编程问答-------------------- 帮LZ 顶个 --------------------编程问答-------------------- Response.Cache.SetCacheability(HttpCacheability.NoCache); --------------------编程问答--------------------
引用 4 楼 qqlvbo 的回复:
Response.Cache.SetCacheability(HttpCacheability.NoCache);

这句语句要写在什么地方啊????登录页面还是每个页面都要写?? --------------------编程问答--------------------
引用 3 楼 ah597568204 的回复:
帮LZ 顶个

我自己也顶一下 --------------------编程问答--------------------
   protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
             
                
                Response.Cache.SetCacheability(HttpCacheability.NoCache);

            }
        } --------------------编程问答-------------------- 把那个清session的写在一个基类里面,让所有页面都继承这个基类,就不用每个页面都写判断Session是否存在的事了! --------------------编程问答-------------------- 正愁着 --------------------编程问答-------------------- 页面应该有判断,session为空时,跳转到首页,反之就可以访问该页面 --------------------编程问答-------------------- protected void Page_Load(object sender, EventArgs e)
 {
            if (Session["Admin"] == null || Session["Admin"].ToString() == "")     
            {
                Response.Redirect("index.aspx");
                Response.End();
            }

/////////Doing 0ther


} --------------------编程问答--------------------   Response.Buffer=true;   
          Response.ExpiresAbsolute=System.DateTime.Now.AddSeconds(-1);   
          Response.Expires=0;   
          Response.CacheControl="no-cache";   
    
  要强制进行http请求其实很简单.就象csdn现在这样,在后面缀一个随机参数(该参数应该以当前时间为种子).那么无论什么类型的文件,都会重新发起http请求 
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,