Occurs before a delete operation.
Assembly: System.Web (in System.Web.dll)
Handle the event to perform additional initialization operations that are specific to your application, to validate the values of parameters, or to change the parameter values before the SqlDataSource control performs the delete operation.
The connection to the underlying data source is not yet open when the event handler delegate is called. Therefore, you cannot cancel the operation directly by calling the Cancel method on the DbCommand object that is exposed by the SqlDataSourceCommandEventArgs object. You can, however, cancel the database operation by setting the Cancel property of the SqlDataSourceCommandEventArgs object to true.
For more information about handling events, see Consuming Events.
The following code example demonstrates how to handle the event that is raised before a Delete operation occurs. Because this example deletes data from the Northwind database, an OnDeleting handler is added to attempt to back up the database to disk before the Delete operation is performed.
<%@Page Language="VB" %> <%@Import Namespace="System.Data.SqlClient" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Sub On_Record_Deleting(ByVal source As Object, ByVal e As SqlDataSourceCommandEventArgs) ' Cancel the delete operation if the checkbox is not checked. If Not CheckBox1.Checked e.Cancel = True Label1.Text = "The command was cancelled because the CheckBox was not checked." End If End Sub 'On_Record_Deleting Sub On_Record_Deleted(ByVal source As Object, ByVal e As SqlDataSourceStatusEventArgs) Label1.Text = e.AffectedRows & " row(s) were deleted" End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>ASP.NET Example</title> </head> <body> <form id="form1" runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataSet" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" SelectCommand="SELECT * FROM Orders" DeleteCommand="DELETE FROM [Order Details] WHERE OrderID=@OrderID;DELETE FROM Orders WHERE OrderID=@OrderID;" OnDeleting="On_Record_Deleting" OnDeleted="On_Record_Deleted"> </asp:SqlDataSource> <br /> <asp:CheckBox id="CheckBox1" runat="server" autopostback="true" text="Check To Delete Data" /> <br /> <br /> <asp:GridView id="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="OrderID" AutoGenerateDeleteButton="True" AllowPaging="True" PageSize="20" DataSourceID="SqlDataSource1"> <Columns> <asp:BoundField HeaderText="Order ID" DataField="OrderID" /> <asp:BoundField HeaderText="Customer" DataField="CustomerID" /> <asp:BoundField HeaderText="Order Placed" DataField="OrderDate" /> <asp:BoundField HeaderText="Order Shipped" DataField="ShippedDate" /> </Columns> </asp:GridView> <asp:Label id="Label1" runat="server"> </asp:Label> </form> </body> </html>