在GridView中加入删除提示

本文介绍如何在ASP.NET的GridView控件中增加删除提示功能,通过自定义删除按钮及使用OnClientClick事件来实现删除确认对话框,有效避免误删。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GridView控件有自带的、可以通过配置完成的删除功能,但是它没有提示,点击直接删除。而且由于和选择、编辑按钮很近,所以也比较容易点错。因此我喜欢把删除按钮单独拿出来,并加入删除提示。

请看下面的例子:

 

 1None.gif<asp:GridView ID="GridView2" runat="server" DataKeyNames="id" OnRowDeleting="GridView2_RowDeleting" AutoGenerateColumns="False" DataSourceID="SqlDataSource2" Width="100%" AutoGenerateSelectButton="true" AutoGenerateEditButton="false" AutoGenerateDeleteButton="false" RowStyle-VerticalAlign="NotSet">
 2None.gif<Columns>
 3None.gif<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True" Visible="false" SortExpression="id" />
 4None.gif<asp:TemplateField>
 5None.gif<ItemTemplate>
 6None.gif
 7None.gif<asp:LinkButton ID="LinkButton2" runat="server" CommandName="Delete" OnClientClick='return confirm("此删除操作不可恢复,您确认删除此用户吗?")'>删除</asp:LinkButton>
 8None.gif
 9None.gif</ItemTemplate>
10None.gif<HeaderTemplate>&nbsp;</HeaderTemplate>
11None.gif</asp:TemplateField>
12None.gif<asp:BoundField DataField="logname" HeaderText="登录名" SortExpression="logname" Visible="true" />
13None.gif<asp:BoundField DataField="username" HeaderText="用户名" SortExpression="username" Visible="true" />
14None.gif<asp:BoundField DataField="password" HeaderText="密码" SortExpression="password" Visible="false" />
15None.gif</Columns>
16None.gif</asp:GridView>
17None.gif<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:NewlandConnectionString %>"
18None.gifSelectCommand="SELECT * FROM [Manager] " 
19None.gifDeleteCommand="DELETE FROM [Manager] WHERE id=@id">
20None.gif<DeleteParameters>
21None.gif<asp:ControlParameter ControlID="GridView2" Name="id" PropertyName="id" />
22None.gif</DeleteParameters>
23None.gif</asp:SqlDataSource>
24None.gif

 

请注意:例子中GridView2DataKeyNames属性和OnRowDeleting属性,以及LinkButton1CommandName属性是必须的。DataKeyNames属性指定GridView的索引字段,OnRowDeleting属性指定执行删除操作时调用cs文件中对应的方法,CommandName属性指定点击触发GrifViewDelete操作。

另外,还需要在对应cs文件中加入如下方法:

 

 

1None.gifprotected void GridView2_RowDeleting(object sender, GridViewDeleteEventArgs e)
2ExpandedBlockStart.gifContractedBlock.gif    dot.gif{
3InBlock.gif        int categoryID = (int)GridView2.DataKeys[e.RowIndex].Value;
4InBlock.gif        SqlDataSource2.DeleteParameters["id"].DefaultValue = categoryID.ToString();
5ExpandedBlockEnd.gif}

6None.gif

 

这个方法实现取得当前要删除的行的id,并将其赋值给SqlDataSource2SQL语句的id参数。

到这里就实现了删除提示功能。简单实用的功能。

 

转载于:https://www.cnblogs.com/gofficer/archive/2007/05/18/751047.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值