GridView控件中插入自定义删除按钮,要实现这个功能其实有多种方法,这里先记下我使用的方法,以后再添加其他方法。

一.实现步骤

  1.在GridView中添加模板列(TemplateField)。

  2.打开编辑模板视图,在新加的模板列的ItemTemplate中加一个按钮控件。

  3.在删除按钮中添加如下属性: 

  CommandName="Delete" //命令名字,可以自己按照需求命名
  CommandArgument='<%#Eval("ISMLineInfoID")%>'//命令参数

  OnClientClick="if(!confirm('Sure to delete?')) return false;//点击弹出客户端出确认按钮

  代码如下所示:

<asp:TemplateField HeaderText="Delete">
     <ItemTemplate>
     <asp:Button ID="ISMLineDelete" runat="server" Text="Delete" CommandName="Delete" 
          CommandArgument='<%#Eval("XXX")%>' OnClientClick="if(!confirm('Sure to delete?')) return false;" />
     </ItemTemplate>
</asp:TemplateField>

 

  4.添加GridView的RowCommand事件。加入以下代码

protected void GridViewID_RowCommand(object sender, GridViewCommandEventArgs e)
    {

        if (e.CommandName == "Delete")
        {
            int modelID = int.Parse(e.CommandArgument.ToString());
            DeleteLine(modelID);

        }
    }

二.注意事项与遇到问题

  1.在开始的时候没有在模板列中加按钮,直接添加的是ButtonField一直提示数据源中没有实现Deleting方法,后来发现直接添加按钮列没有runat="server"属性。