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"属性。