2012-08-30 51 views
0

我有Internet Explorer 8.我有一个asp:GridView,在其中显示记录和图像按钮以执行删除操作。我正在删除记录,并在GridView的RowComand事件上调用了BindMethod。问题是删除记录后Internet Explorer不刷新。我已经检查了Firefox和Chrome。他们工作正常。ASP.NET Gridview在删除操作后不刷新

这里是我的代码: ASPX:

<asp:GridView ID="grd" runat="server" CssClass="grd" EmptyDataText="No record found." 
EnableViewState="true" AutoGenerateColumns="False" AllowPaging="False" 
OnRowCommand="grdView_RowCommand" OnRowDataBound="grdView_RowDataBound" 
OnPageIndexChanging="grdView_PageIndexChanging"> 
    <Columns> 
     bla 
     bla 
     bla 
     bla 
     bla 
    </Columns> 
    </asp:GridView> 

代码隐藏

private void BindGrid() 
{ 
    string sSQL = "select * from tableName"; 
    DataTable dt = DAL.getDataTable(sSQL); 
    grd.DataSource = dt; 
    grd.DataBind(); 
} 

protected void grdView_RowCommand(Object sender, GridViewCommandEventArgs e) 
{ 
     int id= Convert.ToInt32(e.CommandArgument); 
     //Deleting record 
     bool result = DAL.DeleteRecord(id); 
     if(result) 
     { 
      BindGrid(); 
     } 
} 

请告诉我为什么Internet Explorer未刷新电网,而其他浏览器工作正常。

+0

洛尔兹。是!这就是为什么它在其他浏览器中工作正常。 –

+0

你有'UpdatePanel'吗?你使用缓存吗? –

+0

不,我没有更新面板。而且我没有使用缓存与我的编码,但我不确定是否在场景后面进行缓存。 –

回答

0

试试这个,grdView_ RowCommand当你试图删除一行时不会触发。使用像下面grdView_ RowDeleting。 grdView_ RowCommand只会在您的GridView绑定时触发

protected void grdView_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{ 
    int id= Convert.ToInt32(e.CommandArgument); 
    //Deleting record 
    bool result = DAL.DeleteRecord(id); 
    if(result) 
    { 
     BindGrid(); 
    } 
}