Keys Property
Collapse the table of content
Expand the table of content

FormViewDeleteEventArgs.Keys Property

Note: This property is new in the .NET Framework version 2.0.

Gets an ordered dictionary of key field name/value pairs for the record to delete.

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

public IOrderedDictionary Keys { get; }
/** @property */
public IOrderedDictionary get_Keys ()

public function get Keys () : IOrderedDictionary

Property Value

An OrderedDictionary that contains the key field name/value pairs for the record to delete.

The Keys property contains the values of the key fields listed in the DataKeyNames property of a FormView control. Use the Keys property to access the values of the key field or fields for the record to be deleted. For example, you can use these values to verify the record before deleting it, to change the record to delete, or to keep a log of deleted records.


This property contains only the key fields. To access the name/value pair values for the non-key fields, use the Values property.

The Keys property returns an OrderedDictionary object that implements the System.Collections.Specialized.IOrderedDictionary interface. The OrderedDictionary object contains System.Collections.DictionaryEntry objects that represent the key fields. To access the key field names, use the Keys property of the OrderedDictionary object. Similarly, you can access the key field values by using the Values property.


As a shortcut, you can also use the indexer of the OrderedDictionary object to access the key field values. The advantage in using the indexer is that it returns key field values directly. Data source controls that rely on the field order (such as AccessDataSource) can access key field values only by index.

The Keys and Values properties are read-only; however, you can modify the field values of the OrderedDictionary object. If you change the key and non-key field values, the corresponding record will be deleted from the data source.

The following example demonstrates how to use the Keys property to access the value of the key field for the record being deleted.

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

<script runat="server">

  void EmployeeFormView_ItemDeleting(Object sender, FormViewDeleteEventArgs e)
    // Get the employee ID, name, and job title from the Keys and Values
    // properties.
    String keyValue = e.Keys["EmployeeID"].ToString();
    String employeeName = e.Values["FirstName"].ToString() +
      " " + e.Values["LastName"].ToString();
    String title = e.Values["Title"].ToString();

    // Cancel the delete operation if the user attempts to 
    // delete a protected record. In this example, records for
    // employees with a "Sales Manager" job title are protected.
    if (title.Equals("Sales Manager"))
      e.Cancel = true;
      MessageLabel.Text = "You cannot delete record " +
        e.RowIndex.ToString() + ". " + employeeName +
        " (Employee Number " + keyValue.ToString() +
        ") is protected.";


    <form runat="server">
      <h3>FormViewDeleteEventArgs Example</h3>
      <asp:formview id="EmployeeFormView"
                <asp:image id="EmployeeImage"
                  imageurl='<%# Eval("PhotoPath") %>'
                  alternatetext='<%# Eval("LastName") %>' 
                <asp:label id="FirstNameLabel"
                <asp:label id="LastNameLabel"
                <asp:label id="TitleLabel"
              <td colspan="2">
                <asp:button id="DeleteButton"
                  text="Delete Record"
                  runat="server" />
      <asp:label id="MessageLabel"
      <!-- 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="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName], [Title], [PhotoPath] From [Employees]"
        deletecommand="Delete [Employees] Where [EmployeeID]=@EmployeeID"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Supported in: 2.0

Community Additions

© 2015 Microsoft