欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

GridView使用CommandField删除列实现删除时提示确认框

程序员文章站 2024-03-01 10:07:10
gridview在使用commandfield删除时弹出提示框,在.net2005提供的gridview中我们可以直接添加一个commandfield删除列:
gridview在使用commandfield删除时弹出提示框,在.net2005提供的gridview中我们可以直接添加一个commandfield删除列:<asp:commandfield showdeletebutton="true" />,完后在它的rowdeleting事件中完成删除。但在多半我们在做这种删除操作时都需要先让操作者再确认下,完后再进行删除,以避免误操作引起的误删除。

可以通过下面方法给gridview删除前加上个确认对话框。

首先,在gridview的属性对框话框中点击“columns”进入它的“字段”设计器。接着在“字段”设计器中选择以前已加上的那个commandfield“删除”列,这时在它的属性列表下会看到一个“将此它段转换为 templatefied”的项,点击将它转换为templatefied列。

完后退出该字段设计器,切换到源码视图你会发现该列已由原来的:<asp:commandfield showdeletebutton="true" />
变为了:
复制代码 代码如下:

<asp:templatefield showheader="false">
<itemtemplate>
<asp:linkbutton id="linkbutton1" runat="server" causesvalidation="false" commandname="delete" text="删除"></asp:linkbutton>
</itemtemplate>

最后在<asp:linkbutton>中加入:onclientclick="return confirm('确认要删除吗?');"

这样点击删除时就会先在客户端弹出“确认要删除吗?”对话框,而原来在rowdeleting事件中写的代码完全不用改变。

第二种方法:

实现方法:

双击gridview的onrowdatabound事件;

在后台的gridview1_rowdatabound()方法添加代码,最后代码如下所示:
复制代码 代码如下:


protected void gridview1_rowdatabound(object sender, gridviewroweventargs e)
{
//如果是绑定数据行
if (e.row.rowtype == datacontrolrowtype.datarow)
{
if (e.row.rowstate == datacontrolrowstate.normal || e.row.rowstate == datacontrolrowstate.alternate)
{
((linkbutton)e.row.cells[6].controls[0]).attributes.add("onclick", "javascript:return confirm('你确认要删除:\"" + e.row.cells[1].text + "\"吗?')");
}
}

}

以上是两种最常见的完善gridview中的删除控件的方法,这两种方法还没有实现对特定数据的绑定作用。