protected void Page_Load(object sender, EventArgs e)
        {
            Application["hello"] = "欢迎学习APPLI对象";
            this.TextBox1.Text = this.Application["hello"].ToString();
            this.Label1.Text = this.Application["hello"].ToString();
            this.Label2.Text = this.Session.SessionID.ToString();
        }
我先前的代码如上,IE上的结果是我想要的结果,我把代码改成如下:
protected void Page_Load(object sender, EventArgs e)
        {
            //Application["hello"] = "欢迎学习APPLI对象";
            //this.TextBox1.Text = this.Application["hello"].ToString();
            //this.Label1.Text = this.Application["hello"].ToString();
            //this.Label2.Text = this.Session.SessionID.ToString();
        }
里面的代码全部注释掉,结果输出一样的结果,我问了一下高人,这是为何,回答说是页面缓存 , 难道页面缓存是为了干错误的事情吗.

解决方案 »

  1.   

    页面缓存是什么都没干,直接返回缓存内容.
    正常下:
    请求->执行代码->生成HTML->返回HTML
    页面缓存:
    请求->返回HTML
       
      

  2.   

    this.Application[]是全局缓存集合,从ASP带过来的
    设置一个合适的缓存时间
    仅启用客户端缓存,NoCache禁用
    Response.Cache.SetCacheability(HttpCacheability.Private);
      

  3.   

    看ASPX页面或者web.CONFIG中是否有这个 
     OutputCache 节点
    有的话删掉
      

  4.   

    居然都查不到 里面有 OutputCache 这个 单词.我的是VS2008,是不是现在没有了
      

  5.   

    默认是没有开启页面缓存的,你的页面是自己写的 还是网下DOWN的,如果是自己写的,那可能根本不是页面缓存的问题
      

  6.   

    我是自己写的, 新建--ASP.NET WEB 应用程序,如此而已.
      

  7.   

    是否在运行的时候修改了代码,然后修改后没有先关闭后重新运行或者没有先保存修改再刷新.或者你试试先关闭VS中内置的IIS(屏幕右下角,QQ旁边),再运行
      

  8.   

    如果你是说 你停止之后,然后在VS中F5重新运行就可以了的话,那就正常了.不过一般都是页面修改之后保存,然后刷新下就OK的,遨游没用过,感觉跟浏览器关系不大,可能跟你的运行方式有关系.
      

  9.   

     if (!IsPostBack)
     {
      Application["hello"] = "欢迎学习APPLI对象";
      this.TextBox1.Text = this.Application["hello"].ToString();
      this.Label1.Text = this.Application["hello"].ToString();
      this.Label2.Text = this.Session.SessionID.ToString();            
      }
      

  10.   


    保存之后 刷新 或者 重新运行,都可以的,IDE熟不熟悉的问题,用多了就豁然开朗了,都是这么过来的
      

  11.   

    IDE 是什么,解决方案资源管理器么
      

  12.   

    就是VS了,
    GOOGLE IDE 可以得到详细的解释