//删除事件
        protected void LinkButton2_Click(object sender, EventArgs e)
        {
            foreach (GridViewRow row in this.GridView1.Rows)
            {
                CheckBox CheckRow = (CheckBox)row.FindControl("CheckRow");
                if (CheckRow.Checked)
                {
                    string id = GridView1.DataKeys[row.RowIndex].Value.ToString();
                    string sql = "delete from money_info where Id='" + id + "'";
                    Common common = new Common();
                    common.ExecuteNonQuery(sql);
                    DbTools.MsgBox("信息删除成功!");
                }
                
            }
        }//页面前台
<asp:TemplateField>
   <HeaderTemplate>
   <input type="checkbox" id="Check" onclick="CheckAll(this)" title="全选/全不选" />
   </HeaderTemplate>
   <ItemTemplate>
   <asp:CheckBox ID="CheckRow" runat="server" />
   </ItemTemplate>
   <HeaderStyle Width="20px" />
</asp:TemplateField>//问题
我一点击删除按钮,页面就好像刷新了一下,所要删除的一行记录删不掉。

解决方案 »

  1.   

    检查下sql语句是不是有错
    点击删除后,打开数据库,看看是不是真的删除了
      

  2.   

    删除了之后 你需要重新把查询的结果 重新绑定到gridview 
    因为你刚刚点了删除之后 其实是删除成功了的 只是数据库需要重新绑定 
    绑定就可以看到效果了
      

  3.   

    需重新绑定数据源
    this.GridView1.DataSource=...
    this.GridView1.DataBind();
      

  4.   

    不是,我调试了,不管怎样,if (CheckRow.Checked)语句里的CheckRow.Checked总是false,所以根本就不会执行下面的语句。是怎么回事啊?
      

  5.   

    string IDList = Request.Form["cbId"];
                if (IDList != "" && IDList != null)
                {}
    用这种方法试下
      

  6.   

    是不是pageLoad事件中的 代码 让checkbox初始化了?
      

  7.   

    页面上的Linkbutton 是不是设置的自动回发?