Response.Expires = 0;
Response.AddHeader("pragma","no-cache");
Response.AddHeader("cache-control","private");
Response.CacheControl = "no-cache";

解决方案 »

  1.   

    //注销时,使缓存过期
    Response.Cache.SetExpires( DateTime.Now.AddSeconds(-1) );
      

  2.   

    你说的与下面语句有区别吗?
    <meta http-equiv="Expires" content="0">
    <meta http-equiv="Cache-Control" content="no-cache">
    <meta http-equiv="Pragma" content="no-cache">用这3个语句没用。
    我在页面里有个重新登陆链接,点击该链接进入LOGIN页面。登陆语句为:
                if(Page.IsValid){
                        //保存登陆信息到SESSION
                    try{
                        HttpCookie cookie=Request.Cookies["bbgOAUser"];
                        string computername=cookie["COMPUTERNAME"].ToString();
                        string userid=userId.Text;
                        bbg.pub.Log.WriteLog(userid,computername,DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),"登陆",Request.UserHostAddress);
                        FormsAuthentication.RedirectFromLoginPage(userId.Text,false);
                    }catch{
                        Label1.Text="写登陆日志出错,请重试";
                    }
                }
    在登陆页面的LOAD里
                            Session.Abandon();
                            FormsAuthentication.SignOut();
    Session.Clear();
    Session.RemoveAll();                        HttpCookie cookie=Request.Cookies["bbgOAUser"];
                            userId.Text=cookie["USERID"].ToString();
      

  3.   

    或者可以根据参数缓存多个版本
    login.aspx:
    Response.Redirect("a.aspx?UserID=" + sUserID);a.aspx
    <%@ OutputCache Duration="600" VaryByParam="UserID" %>
    ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpconcachingmultipleversionsofusercontrolbasedonparameters.htm