GridView有了删除列的项很大方便了界面设计,在以前的版本中我们不得不用再增加一列,模板列也好链接按钮也好,总之要查找到此控件属性加 onclick事件。在ASP.NET 2.0中也延用了这套机制。首先我们设置CommandField,把ShowEditButton、ShowDeleteButton属性都设置为 true,当然这是灵活应用的,也可以只设置ShowDeleteButton属性,那样下面的代码你要修改一下调换一下顺序。页面代码如下:
我使用的是图片按钮并且放在了第8列,因此以下代码仅使用我设置好的情况,其它情况类似灵活设置,后台代码如下:
提示: 如果没有设置为图片按钮,把 ImageButton改为LinkButton行了。
解释一下原 因,在CommandField列里设置了ShowEditButton、ShowDeleteButton属性后,.net会在生成结果 ShowEditButton、ShowDeleteButton之间加上空格( ),因此一个单元格里有三个控件,image(编 辑)、 (空格)、image(删除),((ImageButton)e.Row.Cells[7].Controls[2])这一句 就指定了删除列的位置。找到这个控件就好办了,那就加属性就行了,但是要考虑,再点击了编辑按钮后是“更新”、“取消”两列没有“删除”列因此需要根据实 际情况判断一下,代码如下:
if
(imgFlag.AlternateText
==
"
删除
"
)

{
imgFlag.Attributes.Add("onclick", "javascript:return confirm('您确信要删除吗!?')");
}
提示: 如果是LinkButton,根据LinkButton的Text判断一下就可以了。
<
asp:CommandField
ShowEditButton
="true"
HeaderText
="编辑区"
ShowDeleteButton
="true"
ButtonType
="Image"
/>
/>

我使用的是图片按钮并且放在了第8列,因此以下代码仅使用我设置好的情况,其它情况类似灵活设置,后台代码如下:
1
protected
void
GridView1_RowDataBound(
object
sender, GridViewRowEventArgs e)
2
{
3
if (e.Row.RowType == DataControlRowType.DataRow)
4
{
5
ImageButton imgFlag = new ImageButton();
6
imgFlag = ((ImageButton)e.Row.Cells[7].Controls[2]);
7
if (imgFlag.AlternateText == "删除")
8
{
9
imgFlag.Attributes.Add("onclick", "javascript:return confirm('您确信要删除吗!?')");
//Button btn = (Button)e.Row.Cells[5].Controls[0];
//btn.Attributes.Add("onclick", "javascript:return confirm('你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?')");
//Button1.Attributes.Add("onclick","return confirm(’确认?’)");
//button.attributes.add("onclick","if(confirm(’are you sure...?’)){return true;}else{return false;}")
10
}
11
12
}
13
14
}

2



3

4



5

6

7

8



9

//Button btn = (Button)e.Row.Cells[5].Controls[0];
//btn.Attributes.Add("onclick", "javascript:return confirm('你确认要删除:\"" + e.Row.Cells[1].Text + "\"吗?')");
//Button1.Attributes.Add("onclick","return confirm(’确认?’)");
//button.attributes.add("onclick","if(confirm(’are you sure...?’)){return true;}else{return false;}")
10

11

12

13

14

提示: 如果没有设置为图片按钮,把 ImageButton改为LinkButton行了。
解释一下原 因,在CommandField列里设置了ShowEditButton、ShowDeleteButton属性后,.net会在生成结果 ShowEditButton、ShowDeleteButton之间加上空格( ),因此一个单元格里有三个控件,image(编 辑)、 (空格)、image(删除),((ImageButton)e.Row.Cells[7].Controls[2])这一句 就指定了删除列的位置。找到这个控件就好办了,那就加属性就行了,但是要考虑,再点击了编辑按钮后是“更新”、“取消”两列没有“删除”列因此需要根据实 际情况判断一下,代码如下:






提示: 如果是LinkButton,根据LinkButton的Text判断一下就可以了。