SqlDataSourceView.OnDeleting Method
Raises the Deleting event before the SqlDataSource control attempts a delete operation.
Assembly: System.Web (in System.Web.dll)
Parameters
- e
- Type: System.Web.UI.WebControls.SqlDataSourceCommandEventArgs
A SqlDataSourceCommandEventArgs that contains the event data.
Raising an event invokes the event handler through a delegate. For more information, see Consuming Events.
The OnDeleting method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
Notes to InheritorsWhen overriding the OnDeleting method in a derived class, be sure to call the OnDeleting method for the base class so that registered delegates receive the event.
The following code example demonstrates how to handle the Deleting event, which 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 is performed.
<%@Page Language="C#" %> <%@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"> private void OnRecordDeleting(Object source, SqlDataSourceCommandEventArgs e) { // Cancel the delete operation if the checkbox is not checked. if (! CheckBox1.Checked) { e.Cancel = true; Label1.Text = "The command was cancelled because the CheckBox was not checked."; } } private void OnRecordDeleted(object source, SqlDataSourceStatusEventArgs e) { Label1.Text = e.AffectedRows + " row(s) were deleted"; } </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="OnRecordDeleting" OnDeleted="OnRecordDeleted"> </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>
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.