环境:vs2005 安装 AJAX Extensions和AjaxControlToolkit页面控件:gridview,imagebutton,updatepanel,scriptmanager全是服务器端控件。问题:我在page_load中有一个页面控件初始化代码,写在了(!Page.ispostback)中(第一次加载该页的时候执行,以后不再执行)。我点击imagebutton给gridview绑定数据,他的onclick事件正常执行,但是执行click后页面又重新加载了一遍,即执行了(!Page.ispostback)中页面初始化代码。imagebutton 的onclick事件引起的不是postback而是refresh吗?如果是postback那为什么又会执行(!Page.ispostback)中的代码呢???
我初次使用vs2005的AJAX Extensions不知道是不是和这里有关系,并且我感觉用了ajaxextensions后程序的性能不高(例如:页面初始化时候我代码和vs2003中的一样但是明显感觉vs2005的页面加载要慢),不知道为什么?请高人赐教。

解决方案 »

  1.   

    我也遇到过pageload 中的代码运行2次,是奇怪的
      

  2.   

    refresh用于刷新,,刷新的话就会重新加载,,估计是这里的问题
      

  3.   

    代码就是大体如下:
    page_load()
    {
      if(!Page.ispostback)
      {
        ///控件初始化
         InitControls();
       }
    }
    imagebutton_OnClick()
    {
       //gridview绑定数据源
        BondData();
    }
    页面从第一次加载到我返回数据到gridview中全过程:
    页面加载时候执行了两遍InitControls()(这个就有些奇怪),加载完毕后我点击imagebutton执行BondData(); 执行onclick完毕又再次自己执行
    InitControls();
      

  4.   

    但是imagebutton的onclick事件引起的应该是postback吧?不是 refresh