情景一、 没有外键关联,
操作:在数据源中将删除选项选中--- GrideView 中的删除 选项选中 即可
情景二、 有外键关联
*RowDeleting 行删除前触发
*RowDeleted 行删除后触发
操作有外键关联的表,需要在执行删除前先把关联数据删除:
法一:
// 执行删除操作前执行
1 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 2 { 3 //// 获取主键 4 //string key = e.Keys["Code"].ToString(); //有个前提:事先必须要保证GridView的DataKeyNames属性有值。 5 // //执行删除 6 //var query1 = _Context.Work.Where(p => p.InfoCode == key); 7 //var query2 = _Context.Family.Where(p=>p.InfoCode == key); 8 //_Context.Work.DeleteAllOnSubmit(query1); 9 //_Context.Family.DeleteAllOnSubmit(query2); 10 //_Context.SubmitChanges(); 11 ////执行 LinQDataSource的删除功能 12 } 13 // 删除完毕后执行,提示用户已经删除完毕 14 protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e) 15 { 16 //Literal1.Text = "<script language=javascript>alert(‘删除成功‘)</script>"; 17 }
// 查询数据相关数据,没有数据时,页面提示
将EmptyDataText属性设置 : “未找到相关数据!”
法二:
1 //删除工作简历和家庭关系 2 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 3 { 4 //获取主键 5 string key = e.Keys["Code"].ToString(); 6 //把三个表都删掉。 7 var query = _Context.Info.Where(p=>p.Code == key); 8 Info data = query.First(); 9 10 _Context.Work.DeleteAllOnSubmit(data.Work); 11 _Context.Family.DeleteAllOnSubmit(data.Family); 12 _Context.Info.DeleteOnSubmit(data); 13 _Context.SubmitChanges(); 14 //刷新,阻止事件向前进行。 15 GridView1.DataBind(); 16 e.Cancel = true; //阻止事件序列。 17 //Literal1.Text = "<script language=javascript>alert(‘删除成功‘)</script>";// 提示删除成功 18 }
方法三、1、编辑列--添加超链接列(HyperLinkField)--设置text =“删除”;
2、 将此超链接指向某个字段(DataNavigateUrlFields=Code)
3、DataNavigateUrlFormatString=“Delete.ashx?id={0}” 注:{0}的意思是指的上面的指向的Code;
4、添加一般处理程序(Delete.ashx) 添加删除程序并跳转回显示页面;
情景描述: 执行删除时 ,提示是否确定删除
法一、
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { //给删除按钮加确认 if (e.Row.RowType == DataControlRowType.DataRow) { LinkButton btnDelete = e.Row.Cells[5].Controls[0] as LinkButton; btnDelete.OnClientClick = "return confirm(‘确认要删除吗?‘)"; } }
法二 、 在“编辑列”中 给 删除 添加 样式,添加样式后
通过Jquery 添加点击事件
<script language="javascript">
$(document).ready(function () {
$(".del").click(function () {
return confirm(‘确认要删除吗?‘);
});
});
</script>