不要用OnCLick属性
用OnClientClick="click();return false;"
click()方法里写要弹出新页面的js代码<asp:ImageButton ID="ImgBtn" OnClientClick="click();return false;" />
<script>
   function click()
   {
      windows.open();
   }
</script>

解决方案 »

  1.   

    将Imagebutton按钮换成个小图片就行,然后用前台点击事件就行,但是先执行下看下它的名称,然后在js里面写代码就行,不要放到后台中写.
      

  2.   


    <asp:ImageButton ID="ImgBtn" /> 在GridView 的RowDataBound方法里添加
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
       GridViewRow giv = e.Row;
       TableCell tab = giv.Cells[giv.Cells.Count - 1];   ((ImageButton)tab.FindControl("ImgBtn")).Attributes.Add("onclick", "click('" +e.Row.RowIndex+ "');return false;");
    }
    <script> 
      function click(rowIndex) 
      { 
          windows.open(); 
      } 
    </script> 
      

  3.   

     ((ImageButton)tab.FindControl("ImgBtn")).Attributes.Add("onclick", "click('" +e.Row.RowIndex+ "');return false;"); 没有刷新,你试一下啊!
      

  4.   


    javascirpt语法错误也会导致页面刷新的问题
      

  5.   

    直接丢在updatePanel里面部就不刷新了吧,