2012-08-30 99 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(); 
    } 
}