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中的删除控件的方法,这两种方法还没有实现对特定数据的绑定作用。
可以通过下面方法给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中的删除控件的方法,这两种方法还没有实现对特定数据的绑定作用。
上一篇: java 多线程的三种构建方法
下一篇: React中key的必要性与使用