DetailsViewDeletedEventArgs.Values Property

 
System_CAPS_noteNote

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

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

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

public IOrderedDictionary Values { get; }

Property Value

Type: System.Collections.Specialized.IOrderedDictionary

A IOrderedDictionary that contains a dictionary of the non-key field name/value pairs for the item to delete.

Use the Values property to access the values of the non-key fields for the record to delete. For example, you can use these values to keep a log of deleted records.

System_CAPS_noteNote

This property does not contain the key fields for the record. To access the key fields, use the Keys property.

The Values property returns an IOrderedDictionary object that implements the IOrderedDictionary interface. The object contains DictionaryEntry objects that represent the non-key fields of the record to delete.

System_CAPS_noteNote

As a shortcut, you can also use the indexer of the IOrderedDictionary object to access the field values directly.

The following code example demonstrates how to use the Values property to access the values of the non-key fields of a deleted record.


<%@ 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 StoresDetailView_ItemDeleted(Object sender, 
  DetailsViewDeletedEventArgs e)
  {
    // Display the value of the key fields in the Keys property.
    KeysMessageLabel.Text =
      "The key fields for the deleted record are: <br/>";

    foreach (DictionaryEntry entry in e.Keys)
    {
      DisplayValue(entry, KeysMessageLabel);
    }

    // Display the value of the non-key fields in the Values 
    // property.
    ValuesMessageLabel.Text =
      "The non-key fields for the deleted record are: <br/>";

    foreach (DictionaryEntry entry in e.Values)
    {
      DisplayValue(entry, ValuesMessageLabel);
    }
  }

  void DisplayValue(DictionaryEntry entry, Label displayLabel)
  {
    // Display the field name contained in the DictionaryEntry object.
    if (entry.Key != null)
    {
      displayLabel.Text += "Name=" + entry.Key.ToString() + ", ";
    }
    else
    {
      displayLabel.Text += "Name=null, ";
    }

    // Display the field value contained in the DictionaryEntry object.
    if (entry.Value != null)
    {
      displayLabel.Text += "Value=" + entry.Value.ToString() + "<br/>";
    }
    else
    {
      displayLabel.Text += "Value=null<br/>";
    }
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsViewDeletedEventArgs Keys and Values Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>DetailsViewDeletedEventArgs Keys and Values Example</h3>

        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogeneratedeletebutton="true"  
          autogeneraterows="true"
          allowpaging="true"
          onitemdeleted="StoresDetailView_ItemDeleted" 
          runat="server">

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

        </asp:detailsview>

        <asp:label id="KeysMessageLabel"
          forecolor="Red"
          runat="server"/>

        <br/><br/>

        <asp:label id="ValuesMessageLabel"
          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"
          selectcommand="Select [CustomerID], [CompanyName], [Address], 
            [City], [PostalCode], [Country] From [Customers]"
          deletecommand="Delete [Customers] 
            Where [CustomerID]=@CustomerID"
          connectionstring=
            "<%$ ConnectionStrings:NorthWindConnectionString%>" 
          runat="server"/>

      </form>
  </body>
</html>

.NET Framework
Available since 2.0
Return to top
Show: