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
|
DetailsViewUpdateEventArgs, classe
Fournit des données pour l'événement ItemUpdating.
System.EventArgs
System.ComponentModel.CancelEventArgs
System.Web.UI.WebControls.DetailsViewUpdateEventArgs
Assembly : System.Web (dans System.Web.dll)
Le type DetailsViewUpdateEventArgs expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
DetailsViewUpdateEventArgs | Initialise une nouvelle instance de la classe DetailsViewUpdateEventArgs. |
| Nom | Description | |
|---|---|---|
|
Cancel | Obtient ou définit une valeur indiquant si l'événement doit être annulé. (Hérité de CancelEventArgs.) |
|
CommandArgument | Obtient l'argument de commande pour l'opération de mise à jour passée au contrôle DetailsView. |
|
Keys | Obtient un dictionnaire qui contient les paires nom/valeur du champ clé pour l'enregistrement à mettre à jour. |
|
NewValues | Obtient un dictionnaire qui contient les nouvelles paires valeur/nom du champ pour l'enregistrement à mettre à jour. |
|
OldValues | Obtient un dictionnaire qui contient les paires nom/valeur du champ d'origine pour l'enregistrement à mettre à jour. |
| Nom | Description | |
|---|---|---|
|
Equals(Object) | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) |
|
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.) |
|
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
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>
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.