0

Internet Explorer 8 を使用しています。削除操作を実行するためのレコードと画像ボタンを表示する asp:GridView があります。レコードを削除し、グリッドビューの RowComand イベントで BindMethod を呼び出しています。問題は、レコードを削除した後、Internet Explorer が更新されないことです。firefox と chrome で確認しました。彼らはうまくいっています。

これが私のコードです: 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 がグリッドを更新しない理由を教えてください。

4

1 に答える 1

0

RowCommandこれを試してください。行を削除しようとしてもgrdView_は起動しません。以下のように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();
  }
}
于 2012-11-09T02:32:00.807 に答える