页面打开数据的加载有些问题
页面a.aspx在Page_Load( )中读取数据库中信息,然后显示在页面的控件中,
现在有个问题是通过别的页面将数据库中数据修改提交后,再点击打开a.aspx页面其中控件显示的数据还是旧的数据,
修改完后的新数据就是检索不出来,必须要点击一下刷新,然后新数据就是不能及时显示;有什么方法能解决这个问题吗?页面一点击连接打开页面显示的就是数据库中新的数据,而不需要再点击浏览器的刷新按钮?

解决方案 »

  1.   

    修改完数据从定向一下 类似跳转 Response.Redirect("a.aspx");你的绑定不要加if(!IsPostBack)
      

  2.   

    Page_Load( )是每次都被执行的,包括第一次打开的,和第二次提交按钮后的,它都被执行一次。并且该事件在页面的生命周期中,执行的顺序位置比按钮的点击事件靠前,就是说你提交按钮,则必将是先执行Page_Load( ),完后才执行你的Button_Click事件我这么说了,你应该了解,如果在执行Button_Click事件之前执行了Page_Load( ),那么,真正执行Button_Click事件时,取得到的控制的值会是什么??你自己好好想下。
    微软的给页面对象提供了一个属性,以区别页面是第一次打开还是回调
    this.Page.IsPostBack用它在Page_Load( ),事件里很是有用
      

  3.   

    是,楼主,不好意思,上一楼我说错了,问题不对//楼主的这种应该是中了微软的缓存机制了,它生成的页面对象副本缓存期没到,所以为了加速显示,直接读取显示了//解决办法,提供两种:
    1,把当前页面保存视图的属性设为false;
    2,你在请求地址时,修改URL参数,比如放一个参数,该参数值弄个随机值或日期值什么的,服务器判断到URL不同,则会相应请求生成新的页面对象//建议用第二种方式
      

  4.   

    我用的是js调用opendlg()函数来实现的,
    好像不太管用
      

  5.   

    重定向  Response.Redirect("xx.aspx");
      

  6.   


    用JS调用?正好合适,你给你的请求URL添加一个参数,参数值弄个随机或像日期这样的值,反正每次请求这个值都要求变动,试下
    IIS发现网址带的参数值变更后,会重新生成一个新的页面的,以达到刷新效果