在rowDeleting退出函数时出错

时间:2018-03-22 16:06:20

标签: c# asp.net

我正在尝试运行一个查询,检查外键是否与另一个与删除查询关联的表中存在关系。

在我的gridview_RowDeleting函数中,我检查它们是否是外键关系,如果有,我想向用户发送一个JavaScript提醒,告知他们无法删除此项。

警报被触发,但继续运行,然后显示错误页面:

“/”应用程序中的服务器错误。

DELETE语句与REFERENCE约束等冲突......

我想退出该函数而不运行查询,这可能吗?

这是我的代码:

protected void gridViewEdit_RowDeleting(object sender, GridViewDeleteEventArgs e)

// query to check for PK in other table

if (count > 0) // returns 1 as it should
   {
      Response.Write("<script>alert('Data could not be deleted.   
      Other data in the system is currently referencing this data.'); 
      </script>");
      conn.Close();
      return; // hoping to stop execution of query here...
   }
   else
   {
      Response.Write("<script>alert('No problem here.');</script>");
      conn.Close();
   }`

1 个答案:

答案 0 :(得分:1)

您的问题是因为您生成了错误消息,但没有指示系统停止!

你需要使用GridViewDeleteEventArgs(e)来取消它,这样就可以了吗

if (count>0) 
{ 
   e.cancel;
   //throw error
}
else
{
   //show happy deleted message
}