Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

DetailsViewUpdateEventArgs, classe

Fournit des données pour l'événement ItemUpdating.

System.Object
  System.EventArgs
    System.ComponentModel.CancelEventArgs
      System.Web.UI.WebControls.DetailsViewUpdateEventArgs

Espace de noms :  System.Web.UI.WebControls
Assembly :  System.Web (dans System.Web.dll)
public class DetailsViewUpdateEventArgs : CancelEventArgs

Le type DetailsViewUpdateEventArgs expose les membres suivants.

  Nom Description
Méthode publique DetailsViewUpdateEventArgs Initialise une nouvelle instance de la classe DetailsViewUpdateEventArgs.
Début
  Nom Description
Propriété publique Cancel Obtient ou définit une valeur indiquant si l'événement doit être annulé. (Hérité de CancelEventArgs.)
Propriété publique CommandArgument Obtient l'argument de commande pour l'opération de mise à jour passée au contrôle DetailsView.
Propriété publique Keys Obtient un dictionnaire qui contient les paires nom/valeur du champ clé pour l'enregistrement à mettre à jour.
Propriété publique NewValues Obtient un dictionnaire qui contient les nouvelles paires valeur/nom du champ pour l'enregistrement à mettre à jour.
Propriété publique OldValues Obtient un dictionnaire qui contient les paires nom/valeur du champ d'origine pour l'enregistrement à mettre à jour.
Début
  Nom Description
Méthode publique Equals(Object) Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Début

Le contrôle DetailsView déclenche l'événement ItemUpdating lors d'un clic sur un bouton de mise à jour (bouton dont la propriété CommandName a la valeur "Update") situé dans le contrôle, mais avant mise à jour de l'enregistrement par le contrôle DetailsView. Cela vous permet de fournir un gestionnaire d'événements qui exécute une routine personnalisée, par exemple l'encodage HTML des valeurs d'un enregistrement avant la mise à jour dans la source de données, chaque fois que cet événement se produit.

Un objet DetailsViewUpdateEventArgs est passé au gestionnaire d'événements, ce qui vous permet de déterminer la valeur d'un argument de commande facultatif envoyé au contrôle DetailsView et d'indiquer que l'opération de mise à jour doit être annulée. Pour déterminer la valeur d'un argument de commande, utilisez la propriété CommandArgument. Pour annuler l'opération de mise à jour, affectez true à la propriété Cancel. Vous pouvez également lire ou modifier les nouvelles valeurs entrées par l'utilisateur en utilisant les propriétés Keys et NewValues. La propriété Keys contient les champs clés, alors que la propriété NewValues contient les champs ne correspondant pas à une clé. Si vous devez accéder aux valeurs de champ ne correspondant pas à une clé d'origine, utilisez la propriété OldValues.

Pour plus d'informations sur la gestion d'événements, consultez Consommation d'événements.

Pour obtenir la liste des valeurs initiales des propriétés d'une instance de la classe DetailsViewUpdateEventArgs, consultez le constructeur DetailsViewUpdateEventArgs.

L'exemple de code suivant montre comment utiliser l'objet DetailsViewUpdateEventArgs passé au gestionnaire d'événements pour l'événement ItemUpdating afin de valider les valeurs entrées par l'utilisateur.



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

        // Validate the field values entered by the user. This
        // example determines whether the user left any fields
        // empty. Use the NewValues property to access the new 
        // values entered by the user.
        ArrayList emptyFieldList = 
          ValidateFields((IOrderedDictionary)e.NewValues);

        if (emptyFieldList.Count > 0)
        {

            // The user left some fields empty. 
            // Display an error message.

            // Use the Keys property to retrieve the key field value.
            String keyValue = e.Keys["CustomerID"].ToString();

            MessageLabel.Text = 
              "You must enter a value for all fields of record " +
              keyValue + ".<br/>The following fields are missing:<br/><br/>";

            // Display the missing fields.
            foreach (String value in emptyFieldList)
            {
                // Use the OldValues property access the original
                // value of a field.
                MessageLabel.Text += value + " - Original Value = " +
                  e.OldValues[value].ToString() + "<br />";
            }

            // Cancel the update operation.
            e.Cancel = true;

        }
        else
        {
            // The field values passed validation. Clear the
            // error message label.
            MessageLabel.Text = "";
        }

    }

    ArrayList ValidateFields(IOrderedDictionary list)
    {

        // Create an ArrayList object to store the
        // names of any empty fields.
        ArrayList emptyFieldList = new ArrayList();

        // Iterate though the field values entered by
        // the user and check for an empty field. Empty
        // fields contain a null value.
        foreach (DictionaryEntry entry in list)
        {
            if (entry.Value == null)
            {
                // Add the field name to the ArrayList object.
                emptyFieldList.Add(entry.Key.ToString());
            }
        }

        return emptyFieldList;
    }

    void CustomerDetailsView_ModeChanging(Object sender, 
      DetailsViewModeEventArgs e)
    {
        if (e.CancelingEdit)
        {
            // The user canceled the update operation.
            // Clear the error message label.
            MessageLabel.Text = "";
        }
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">
    <title>DetailsViewUpdateEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>DetailsViewUpdateEventArgs Example</h3>

        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          autogenerateeditbutton="true"  
          allowpaging="true"
          datakeynames="CustomerID" 
          onitemupdating="CustomerDetailsView_ItemUpdating"
          onmodechanging="CustomerDetailsView_ModeChanging" 
          runat="server">

          <pagersettings position="Bottom"/> 

        </asp:detailsview>

        <br/>

        <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]"
          updatecommand="Update [Customers] Set 
          [CompanyName]=@CompanyName, [Address]=@Address, 
          [City]=@City, [PostalCode]=@PostalCode, 
          [Country]=@Country 
          Where [CustomerID]=@CustomerID"
          connectionstring=
          "<%$ ConnectionStrings:NorthWindConnectionString%>" 
          runat="server"/>

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



.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ