Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

DetailsViewDeleteEventArgs.Keys propriété

 

Date de publication : novembre 2016

Obtient un dictionnaire ordonné de paires nom/valeur de champ de clé qui contient les noms et les valeurs des champs clés des éléments supprimés.

Espace de noms:   System.Web.UI.WebControls
Assembly:  System.Web (dans System.Web.dll)

public IOrderedDictionary Keys { get; }

Valeur de propriété

Type: System.Collections.Specialized.IOrderedDictionary

Un IOrderedDictionary qui contient un dictionnaire trié de paires de nom/valeur champ clé correspondant à l’élément à supprimer.

Utilisez le Keys propriété pour accéder aux valeurs de la clé du ou des champs de l’enregistrement à supprimer. Par exemple, vous pouvez utiliser ces valeurs pour vérifier l’enregistrement avant de le supprimer, pour modifier l’enregistrement à supprimer ou conserver un journal des enregistrements supprimés.

System_CAPS_noteRemarque

Cette propriété contient uniquement les champs clés. Pour les valeurs de la paire nom/valeur pour les champs ne correspondant pas à une clé d’accès, utilisez le Values propriété.

Le Keys propriété retourne un objet qui implémente le IOrderedDictionary interface. L’objet contient DictionaryEntry objets qui représentent les champs clés.

System_CAPS_noteRemarque

Comme raccourci, vous pouvez également utiliser l’indexeur de la IOrderedDictionary objet pour accéder aux valeurs de champs clés. L’avantage de l’utilisation de l’indexeur est qu’il retourne directement les valeurs de champs clés.

Cette propriété est en lecture seule ; Toutefois, vous pouvez modifier les valeurs de champ clé de le IOrderedDictionary elle retourne l’objet. Si vous modifiez les valeurs de champ clé, l’enregistrement correspondant est supprimé de la source de données.

L’exemple de code suivant montre comment utiliser le Keys propriété pour accéder à la valeur du champ clé pour l’enregistrement en cours de suppression.


<%@ 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 CustomerDetailsView_ItemDeleting(Object sender, 
    DetailsViewDeleteEventArgs e)
  {

    // Get customer ID and name from the Keys and Values
    // properties.
    String keyValue = e.Keys["CustomerID"].ToString();
    String customerName = e.Values["CompanyName"].ToString();

    // Cancel the delete operation if the user attempts to 
    // delete protected record. In this example, records
    // with a customer ID that starts with with "A" cannot
    // be deleted.
    if (keyValue.StartsWith("A"))
    {
      e.Cancel = true;
      MessageLabel.Text = "You cannot delete " +
        customerName + ". This customer is protected.";
    }
    else
    {
      MessageLabel.Text = "Row " + e.RowIndex.ToString() + 
        " deleted.";
    }

  }

</script>

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

      <h3>DetailsViewDeleteEventArgs Example</h3>

        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogeneratedeletebutton="true"  
          autogeneraterows="true"
          allowpaging="true"
          onitemdeleting="CustomerDetailsView_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"
          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
Disponible depuis 2.0
Retour au début
Afficher: