Export (0) Print
Expand All

DetailsView.ItemDeleting Event

Occurs when a Delete button within a DetailsView control is clicked, but before the delete operation.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

public event DetailsViewDeleteEventHandler ItemDeleting
<asp:DetailsView OnItemDeleting="DetailsViewDeleteEventHandler" />

The ItemDeleting event is raised when a Delete button within the DetailsView control is clicked, but before the delete operation. This allows you to provide an event handler that performs a custom routine, such as canceling the delete operation, whenever this event occurs.

A DetailsViewDeleteEventArgs object is passed to the event handler, which allows you to determine the index of the record being deleted and to indicate that the delete operation should be canceled. To cancel the delete operation, set the Cancel property to true. You can also manipulate the Keys and Values collections, if necessary, before the values are passed to the data source.

For more information about handling events, see Consuming Events.

The following code example demonstrates how to use the ItemDeleting event to cancel the delete operation if the user attempts to delete the last item from the DetailsView control.


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    void CustomerDetailView_ItemDeleting(Object sender, DetailsViewDeleteEventArgs e)
  {
    // Cancel the delete operation if the user attempts to delete the last
    // record from the data source.
      if (CustomerDetailView.DataItemCount <= 1)
    {
      e.Cancel = true;
      MessageLabel.Text = "You must keep at least one store.";
    }
    else
    {
      MessageLabel.Text = "";
    }
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView ItemDeleting Example</title>
</head>
<body>
    <form id="Form1" runat="server">

      <h3>DetailsView ItemDeleting Example</h3>

        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogeneratedeletebutton="true"  
          autogeneraterows="true"
          allowpaging="true"
          onitemdeleting="CustomerDetailView_ItemDeleting" 
          runat="server">

          <fieldheaderstyle backcolor="Navy"
            forecolor="White"/>

        </asp:detailsview>

        <asp:Label id="MessageLabel"
          forecolor="Red"
          runat="server"/>

        <!-- This example uses Microsoft SQL Server and connects  -->
        <!-- to the Northwind sample database. Use an ASP.NET     -->
        <!-- expression to retrieve the connection string value   -->
        <!-- from the web.config file.                            -->
        <asp:SqlDataSource ID="DetailsViewSource" runat="server" 
          ConnectionString=
            "<%$ ConnectionStrings:NorthWindConnectionString%>"
            InsertCommand="INSERT INTO [Customers]([CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country]) VALUES (@CustomerID, @CompanyName, @Address, @City, @PostalCode, @Country)"
            SelectCommand="Select [CustomerID], [CompanyName], 
              [Address], [City], [PostalCode], [Country] 
              From [Customers]"
            DeleteCommand="DELETE FROM [Customers] WHERE [CustomerID] = @CustomerID" >
        </asp:SqlDataSource>
    </form>
  </body>
</html>

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft