GridViewUpdateEventArgs Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit des données pour l'événement RowUpdating.
public ref class GridViewUpdateEventArgs : System::ComponentModel::CancelEventArgs
public class GridViewUpdateEventArgs : System.ComponentModel.CancelEventArgs
type GridViewUpdateEventArgs = class
inherit CancelEventArgs
Public Class GridViewUpdateEventArgs
Inherits CancelEventArgs
- Héritage
Exemples
L’exemple suivant montre comment utiliser l’objet GridViewUpdateEventArgs passé à la méthode de gestion des événements pour encoder au format HTML toutes les valeurs fournies par l’utilisateur avant de mettre à jour la source de données.
<%@ 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 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 xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridView RowUpdating Example</title>
</head>
<body>
<form id="form1" 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>
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub CustomersGridView_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs)
' Use the CopyTo method to copy the DictionaryEntry objects in the
' NewValues collection to an array.
Dim records(e.NewValues.Count - 1) As DictionaryEntry
e.NewValues.CopyTo(records, 0)
' Iterate through the array and HTML encode all user-provided values
' before updating the data source.
Dim entry As DictionaryEntry
For Each entry In records
e.NewValues(entry.Key) = Server.HtmlEncode(entry.Value.ToString())
Next
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridView RowUpdating Example</title>
</head>
<body>
<form id="form1" 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>
Remarques
Le GridView contrôle déclenche l’événement RowUpdating lorsque l’utilisateur clique sur le bouton Mettre à jour d’une ligne, mais avant que le GridView contrôle ne la met à jour. Cela vous permet de fournir une méthode de gestion des événements qui effectue une routine personnalisée, telle que l’annulation de l’opération de mise à jour, chaque fois que cet événement se produit.
Un GridViewUpdateEventArgs objet est passé à la méthode de gestion des événements, ce qui vous permet de déterminer l’index de la ligne actuelle et d’indiquer que l’opération de mise à jour doit être annulée. Pour annuler l’opération de mise à jour, définissez la Cancel propriété de l’objet GridViewUpdateEventArgs sur true
. Vous pouvez également manipuler les Keyscollections , OldValueset NewValues , si nécessaire, avant que les valeurs ne soient passées à la source de données. Une façon courante d’utiliser ces collections consiste à encoder au format HTML les valeurs fournies par l’utilisateur avant qu’elles ne soient stockées dans la source de données. Cela permet d’éviter les attaques par injection de script.
Pour plus d’informations sur la façon de gérer les événements, consultez gestion et déclenchement d’événements.
Pour obtenir la liste des valeurs de propriété initiales d’un instance de GridViewUpdateEventArgs, consultez le GridViewSelectEventArgs constructeur .
Constructeurs
GridViewUpdateEventArgs(Int32) |
Initialise une nouvelle instance de la classe GridViewUpdateEventArgs. |
Propriétés
Cancel |
Obtient ou définit une valeur indiquant si l'événement doit être annulé. (Hérité de CancelEventArgs) |
Keys |
Obtient un dictionnaire des paires nom-valeur du champ qui représentent la clé primaire de la ligne à mettre à jour. |
NewValues |
Obtient un dictionnaire contenant les valeurs révisées des paires nom-valeur du champ ne correspondant pas à une clé dans la ligne à mettre à jour. |
OldValues |
Obtient un dictionnaire contenant les paires nom-valeur du champ d'origine dans la ligne à mettre à jour. |
RowIndex |
Obtient l'index de la ligne en cours de mise à jour. |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |