大家好,又见面了,我是你们的朋友全栈君。
首先:转摘一段GridView删除的文章
RowDeleting和RowDeleted事件
RowDeleting发生在删除数据之前,RowDeleted发生在删除数据之后。
使用RowDeleting事件,可以在真正删除前再次确认是否删除,可以通过设置GridViewDeleteEventArgs.Cancel=True来取消删除;也可以用于判断当前数据库记录数,如果只剩一条记录且数据库不能为空则提示并取消删除操作。
使用RowDeleted事件,可以在删除后,通过GridViewDeletedEventArgs的Exception属性判断删除过程中是否产生异常,如无异常,则可以显示类似于” 1 Records deleted” 之类的提示信息。
Example:
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//取得当前行号,并取得当前行的GridViewRow对象
int index=e.RowIndex ;
GridViewRow gvr=GridView1.Rows[index];
//取得当前行第二个单元格中的文字
str1 = gvr.Cells[1].Text;
//进行提示
Message.Text =”您将删除一个用户,其姓名为”+str1 ;
}
protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e)
{
//如果没有产生异常,则提示成功删除,否则提示删除失败
if (e.Exception == null)
Message.Text += “<br>您成功删除了”+str1 ;
else
Message.Text += “删除失败,请联系管理员”;
}
其次:需要特别说明,如果在GridView中添加了模板列并在其中添加了按钮,只要按钮的CommandName=”Delete” 则GridView控件自动触发 GridView1_RowDeleting 事件,因此你必须添加后台代码来实现。
第三:对删除按钮增加“确定”对话框,有三种方法
1、在后台类代码中编写
lb.Attributes.Add(“onclick”, “return confirm(‘您真的要删除此行吗?’)”);
2、在前台代码中编写
<div id=”de” onclick=”JavaScript:return confirm(‘确定删除吗?’)”>删除</div>
在Div中首先触发的是OnClick事件,然后执行其他事件
例如:<a href=”Default.aspx” onclick=”return confirm(‘确定删除吗?’)”>删除</a>
首先执行,OnClick,然后执行超级链接,若OnClick被取消了,其余的也被取消了。
3、有的控件可能还有OnClientClick事件。
<asp:LinkButton ID=”LinkButton1″ runat=”server” CausesValidation=”False” CommandName=”Delete” Text=”删除” OnClientClick=”return confirm(‘确认要删除吗?’)></asp:LinkButton>
我一般优先选择第三种方法。
附录:
GridView事件介绍的文章
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155729.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...