ListViewDeleteEventArgs Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Provides data for the ItemDeleting event.

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


public class ListViewDeleteEventArgs : CancelEventArgs


Initializes a new instance of the ListViewDeleteEventArgs class.


Gets or sets a value indicating whether the event should be canceled.(Inherited from CancelEventArgs.)


Gets the index of the item being deleted.


Gets a dictionary of field name/value pairs that represent the primary key or keys of the item to delete.


Gets a dictionary of the non-key field name/value pairs in the item to delete.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)


Serves as the default hash function. (Inherited from Object.)


Gets the Type of the current instance.(Inherited from Object.)


Creates a shallow copy of the current Object.(Inherited from Object.)


Returns a string that represents the current object.(Inherited from Object.)

The ListView control raises the ItemDeleting event when a Delete button is clicked or the DeleteItem method is called, but before the ListView control deletes the item. (A Delete button is one whose CommandName property is set to "Delete".) This enables you to provide an event-handling method that performs a custom routine whenever this event occurs, such as canceling the delete operation.

A ListViewDeleteEventArgs object is passed to the event-handling method, which enables you to determine the index of the item that is being deleted. You can also cancel the delete operation. To do so, set the Cancel property of the ListViewDeleteEventArgs object to true. If necessary, you can also work with the Keys and Values collections before the values are passed to the data source.

For a list of initial property values for an instance of ListViewDeleteEventArgs, see the ListViewDeleteEventArgs constructor.

The following example shows how to use the ListViewDeleteEventArgs object to cancel the delete operation if the user tries to remove the last item from a ListView control.

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

<script runat="server">
  protected void CategoriesListView_OnItemDeleting(object sender, ListViewDeleteEventArgs e)
    if (SubCategoriesGridView.Rows.Count > 0)
      MessageLabel.Text = "You cannot delete a category that has sub-categories.";
      e.Cancel = true;

  protected void Page_Load()
    MessageLabel.Text = String.Empty;

<html xmlns="" >
  <head id="Head1" runat="server">
    <title>Subcategories List</title>
    <form id="form1" runat="server">
      <br />

      <asp:Label ForeColor="Red" runat="server" ID="MessageLabel" /><br />

      <asp:ListView runat="server" 
          <table runat="server" id="tblCategories" 
                 cellspacing="0" cellpadding="1" width="440px" border="1">
            <tr id="itemPlaceholder" runat="server"></tr>
          <tr runat="server">
              <asp:Label runat="server" ID="NameLabel" Text='<%#Eval("Name") %>' />
            <td style="width:40px">
              <asp:LinkButton runat="server" ID="SelectCategoryButton" 
                Text="Select" CommandName="Select" />
          <tr runat="server" style="background-color:#90EE90">
              <asp:Label runat="server" ID="NameLabel" Text='<%#Eval("Name") %>' />
            <td style="width:40px">
              <asp:LinkButton runat="server" ID="SelectCategoryButton" 
                Text="Delete" CommandName="Delete" />

      <br />

      <asp:GridView runat="server" ID="SubCategoriesGridView" Width="300px"
           DataSourceID="SubCategoriesDataSource" DataKeyNames="ProductSubcategoryID" 
           AutoGenerateColumns="True" />

      <!-- This example uses Microsoft SQL Server and connects      -->
      <!-- to the AdventureWorks sample database. Use an ASP.NET    -->
      <!-- expression to retrieve the connection string value       -->
      <!-- from the Web.config file.                                -->
      <asp:SqlDataSource ID="CategoriesDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT [ProductCategoryID], [Name]
                       FROM Production.ProductCategory">
      <asp:SqlDataSource ID="SubCategoriesDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT [ProductSubcategoryID], [Name]
                       FROM Production.ProductSubcategory
                       WHERE ProductCategoryID = @ProductCategoryID
                       ORDER BY [Name]">
            <asp:ControlParameter Name="ProductCategoryID" DefaultValue="0"
                 ControlID="CategoriesListView" PropertyName="SelectedValue"  />

.NET Framework
Available since 3.5

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top