Exporter (0) Imprimer
Développer tout

GridView.RowUpdating, événement

Remarque : cet événement est nouveau dans le .NET Framework version 2.0.

Se produit lors d'un clic sur le bouton Mise à jour d'une ligne, mais avant que le contrôle GridView ne mette la ligne à jour.

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

public event GridViewUpdateEventHandler RowUpdating
/** @event */
public void add_RowUpdating (GridViewUpdateEventHandler value)

/** @event */
public void remove_RowUpdating (GridViewUpdateEventHandler value)

JScript prend en charge l'utilisation d'événements mais pas la déclaration de nouveaux événements.

L'événement RowUpdating est déclenché en cas de clic sur le bouton Mise à jour d'une ligne, mais avant que le contrôle GridView ne mette la ligne à jour. Cela vous permet de fournir une méthode de gestion d'événements qui exécute une routine personnalisée, par exemple l'annulation de l'opération de mise à jour, chaque fois que cet événement se produit.

Un objet GridViewUpdateEventArgs est passé à la méthode de gestion d'événements, ce qui vous permet de déterminer l'index de la ligne en cours et d'indiquer que l'opération de mise à jour doit être annulée. Pour annuler l'opération de mise à jour, affectez la valeur true à la propriété Cancel de l'objet GridViewUpdateEventArgs. Si nécessaire, vous pouvez également manipuler les collections Keys, OldValues et NewValues avant que les valeurs ne soient passées à la source de données. La méthode courante pour utiliser ces collections est de coder en HTML les valeurs fournies par l'utilisateur avant qu'elles ne soient stockées dans la source de données. Cela permet d'empêcher les attaques d'injection de script.

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

L'exemple de code suivant montre comment utiliser l'événement RowUpdating pour coder en HTML toutes les valeurs fournies par l'utilisateur avant de mettre à jour la source de données.


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

<script runat="server">

  void CustomersGridView_RowUpdating(Object sender, GridViewUpdateEventArgs e)
  {
     
    // Iterate through the NewValues collection and HTML encode all 
    // user-provided values before updating the data source.
    foreach (DictionaryEntry entry in e.NewValues)
    {
    
      e.NewValues[entry.Key] = Server.HtmlEncode(entry.Value.ToString());
    
    }
        
  }
       
</script>

<html>
  <body>
    <form runat="server">
        
      <h3>GridView RowUpdating Example</h3>
            
      <!-- The GridView control automatically sets the columns     -->
      <!-- specified in the datakeynames property as read-only.    -->
      <!-- No input controls are rendered for these columns in     -->
      <!-- edit mode.                                              -->
      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        autogenerateeditbutton="true"
        allowpaging="true" 
        datakeynames="CustomerID"
        onrowupdating="CustomersGridView_RowUpdating"  
        runat="server">
      </asp:gridview>
            
      <!-- 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="CustomersSqlDataSource"  
        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">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft