2009-10-11 45 views
2

我想能够包装一个try catch中的gridview行删除,并在屏幕上显示一个不错的错误消息或尝试停止删除从某些情况下发生。ASP.NET - 如何包装GridView删除在尝试catch或停止行删除

目前,我在数据库中获得外键违规。所以我要么停止发生删除,如果有子记录或捕获外键异常并向屏幕显示一个很好的错误信息。

谁能告诉我如何做到这一点?

+0

你的意思是你的行删除调用引发外键异常?或者你不编码删除功能,但让框架为你做? – 2009-10-12 00:54:41

回答

4

您可以使用GridView Row Deleting Event

下面是一个示例代码:

void CustomersGridView_RowDeleting 
     (Object sender, GridViewDeleteEventArgs e) 
    { 
     TableCell cell = CustomersGridView.Rows[e.RowIndex].Cells[2]; 
     if (cell.Text == "Beaver") 
     { 
      e.Cancel = true; 
      Message.Text = "You cannot delete customer Beaver."; 
     } 
     else 
     { 
      Message.Text = ""; 
     } 
    } 
+0

“定制海狸”+1 +1 – recursive 2009-10-12 01:29:30

+0

同一海狸的另一个+1! – 2009-10-12 03:27:50

+0

何时删除行?关联数据源删除之前还是之后?我尝试了以上,但似乎并没有被调用。 – GordyII 2009-10-13 22:52:38

1

使用数据源删除事件作为一个不依赖于GUI元素,可能是更清洁的可能的重新定位可能会破坏代码。