ExecuteDelete Method

DataSourceView.ExecuteDelete Method (IDictionary, IDictionary)


Performs a delete operation on the list of data that the DataSourceView object represents.

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

protected virtual int ExecuteDelete(
	IDictionary keys,
	IDictionary oldValues


Type: System.Collections.IDictionary

An IDictionary of object or row keys to be deleted by the ExecuteDelete operation.

Type: System.Collections.IDictionary

An IDictionary of name/value pairs that represent data elements and their original values.

Return Value

Type: System.Int32

The number of items that were deleted from the underlying data storage.

Exception Condition

The ExecuteDelete operation is not supported by the DataSourceView.

Data-bound controls can determine whether the ExecuteDelete operation is supported by a data source control by retrieving the DataSourceView object using the DataSourceControl.GetView method, and checking the CanDelete property.

The keys parameter represents the object or row keys of the data to delete. For data sources that represent relational data, such as the SqlDataSource control, the keys parameter is a collection of database primary keys. In other scenarios, the keys parameter is a collection of name/value pairs and is used to filter a list of data. Any data matching a name/value pair is deleted.


The DataSourceView class's default implementation is to throw a NotSupportedException exception. If you extend the DataSourceView class, override the ExecuteDelete method if your class supports deletion from the underlying data storage.

The following code example demonstrates how a class that extends the DataSourceView class can override the CanDelete property and the ExecuteDelete method. This code example is part of a larger example provided for the DataSourceView class.

// The CsvDataSourceView does not currently
// permit deletion. You can modify or extend
// this sample to do so.
public override bool CanDelete {
    get {
        return false;
protected override int ExecuteDelete(IDictionary keys, IDictionary values)
    throw new NotSupportedException();

.NET Framework
Available since 2.0
Return to top
© 2015 Microsoft