GridViewUpdateEventArgs Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce i dati per l'evento RowUpdating.
public ref class GridViewUpdateEventArgs : System::ComponentModel::CancelEventArgs
public class GridViewUpdateEventArgs : System.ComponentModel.CancelEventArgs
type GridViewUpdateEventArgs = class
inherit CancelEventArgs
Public Class GridViewUpdateEventArgs
Inherits CancelEventArgs
- Ereditarietà
Esempio
Nell'esempio seguente viene illustrato come usare l'oggetto GridViewUpdateEventArgs passato al metodo di gestione eventi per codifica HTML di tutti i valori forniti dall'utente prima di aggiornare l'origine dati.
<%@ 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>
Commenti
Il GridView controllo genera l'evento quando viene fatto clic sul RowUpdating pulsante Update di una riga, ma prima che il controllo aggiorni la GridView riga. In questo modo è possibile fornire un metodo di gestione eventi che esegue una routine personalizzata, ad esempio l'annullamento dell'operazione di aggiornamento, ogni volta che si verifica questo evento.
Un GridViewUpdateEventArgs oggetto viene passato al metodo di gestione degli eventi, che consente di determinare l'indice della riga corrente e di indicare che l'operazione di aggiornamento deve essere annullata. Per annullare l'operazione di aggiornamento, impostare la Cancel proprietà dell'oggetto GridViewUpdateEventArgs su true
. È anche possibile modificare le Keysraccolte , OldValuese NewValues , se necessario, prima che i valori vengano passati all'origine dati. Un modo comune per usare queste raccolte consiste nel codificare HTML i valori forniti dall'utente prima che vengano archiviati nell'origine dati. Ciò consente di evitare attacchi di inserimento di script.
Per altre informazioni su come gestire gli eventi, vedere la gestione e generazione di eventi.
Per un elenco di valori di proprietà iniziali per un'istanza di GridViewUpdateEventArgs, vedere il GridViewSelectEventArgs costruttore.
Costruttori
GridViewUpdateEventArgs(Int32) |
Inizializza una nuova istanza della classe GridViewUpdateEventArgs. |
Proprietà
Cancel |
Ottiene o imposta un valore che indica se l'evento debba essere annullato. (Ereditato da CancelEventArgs) |
Keys |
Ottiene un dizionario delle coppie nome/valore dei campi che rappresentano la chiave primaria della riga da aggiornare. |
NewValues |
Ottiene un dizionario contenente i valori modificati delle coppie nome/valore dei campi non chiave della riga da aggiornare. |
OldValues |
Ottiene un dizionario contenente le coppie nome/valore originarie dei campi della riga da aggiornare. |
RowIndex |
Ottiene l'indice della riga da aggiornare. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |