Teilen über


GridViewUpdateEventArgs Klasse

Definition

Stellt Daten für das RowUpdating-Ereignis bereit.

public ref class GridViewUpdateEventArgs : System::ComponentModel::CancelEventArgs
public class GridViewUpdateEventArgs : System.ComponentModel.CancelEventArgs
type GridViewUpdateEventArgs = class
    inherit CancelEventArgs
Public Class GridViewUpdateEventArgs
Inherits CancelEventArgs
Vererbung
GridViewUpdateEventArgs

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie das an die GridViewUpdateEventArgs Ereignisbehandlungsmethode übergebene Objekt verwendet wird, um alle vom Benutzer bereitgestellten Werte html-codieren zu können, bevor die Datenquelle aktualisiert wird.


<%@ 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>

Hinweise

Das GridView Steuerelement löst das Ereignis aus, wenn auf die RowUpdating Schaltfläche Aktualisieren einer Zeile geklickt wird, aber bevor das GridView Steuerelement die Zeile aktualisiert. Dadurch können Sie eine Ereignisbehandlungsmethode bereitstellen, die eine benutzerdefinierte Routine ausführt, z. B. das Abbrechen des Aktualisierungsvorgangs, wenn dieses Ereignis auftritt.

Ein GridViewUpdateEventArgs -Objekt wird an die Ereignisbehandlungsmethode übergeben, mit der Sie den Index der aktuellen Zeile bestimmen und angeben können, dass der Aktualisierungsvorgang abgebrochen werden soll. Um den Aktualisierungsvorgang abzubrechen, legen Sie die Cancel -Eigenschaft des GridViewUpdateEventArgs -Objekts auf fest true. Sie können die KeysAuflistungen , OldValuesund NewValues ggf. auch bearbeiten, bevor die Werte an die Datenquelle übergeben werden. Eine gängige Möglichkeit, diese Auflistungen zu verwenden, besteht darin, die vom Benutzer angegebenen Werte html zu codieren, bevor sie in der Datenquelle gespeichert werden. Dies hilft, Skripteinschleusungsangriffe zu verhindern.

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.

Eine Liste der anfänglichen Eigenschaftswerte für eine instance von GridViewUpdateEventArgsfinden Sie im GridViewSelectEventArgs Konstruktor.

Konstruktoren

GridViewUpdateEventArgs(Int32)

Initialisiert eine neue Instanz der GridViewUpdateEventArgs-Klasse.

Eigenschaften

Cancel

Ruft einen Wert ab, der angibt, ob das Ereignis abgebrochen werden soll, oder legt diesen fest.

(Geerbt von CancelEventArgs)
Keys

Ruft ein Wörterbuch mit Name-Wert-Paaren ab, die den primären Schlüssel für die zu aktualisierende Zeile darstellen.

NewValues

Ruft ein Wörterbuch ab, das die überarbeiteten Werte der Name-Wert-Paare von Nicht-Schlüsselfeldern für die zu aktualisierende Zeile enthält.

OldValues

Ruft ein Wörterbuch ab, das die ursprünglichen Name-Wert-Paare für die Felder in der zu aktualisierenden Zeile enthält.

RowIndex

Ruft den Index der zu aktualisierenden Zeile ab.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen