DetailsViewUpdatedEventArgs DetailsViewUpdatedEventArgs DetailsViewUpdatedEventArgs DetailsViewUpdatedEventArgs Class

Definizione

Fornisce dati per l'evento ItemUpdated.Provides data for the ItemUpdated event.

public ref class DetailsViewUpdatedEventArgs : EventArgs
public class DetailsViewUpdatedEventArgs : EventArgs
type DetailsViewUpdatedEventArgs = class
    inherit EventArgs
Public Class DetailsViewUpdatedEventArgs
Inherits EventArgs
Ereditarietà
DetailsViewUpdatedEventArgsDetailsViewUpdatedEventArgsDetailsViewUpdatedEventArgsDetailsViewUpdatedEventArgs

Esempi

Nell'esempio di codice riportato di seguito viene illustrato DetailsViewUpdatedEventArgs come utilizzare l'oggetto passato al gestore eventi ItemUpdated per l'evento per determinare se si è verificata un'eccezione durante un'operazione di aggiornamento.The following code example demonstrates how to use the DetailsViewUpdatedEventArgs object passed to the event handler for the ItemUpdated event to determine whether an exception occurred during an update operation.


<%@ 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_ItemUpdated(Object sender, 
    DetailsViewUpdatedEventArgs e)
  {
    // Use the Exception property to determine whether an exception
    // occurred during the insert operation.
    if (e.Exception == null)
    {
      // Use the Values property to get the value entered by 
      // the user for the CompanyName field.
      String keyFieldValue = e.Keys["CustomerID"].ToString();

      // Display a confirmation message.
      MessageLabel.Text = "Record " + keyFieldValue + 
        " updated successfully. ";

      // Display the old and new values.
      DisplayValues(e);

      if (e.AffectedRows == 1)
      {
        MessageLabel.Text += e.AffectedRows.ToString() + 
          " record updated.";
      }
      else
      {
        MessageLabel.Text += e.AffectedRows.ToString() + 
          " records updated.";
      }
    }
    else
    {
      // Insert the code to handle the exception.
      MessageLabel.Text = e.Exception.Message;

      // Use the ExceptionHandled property to indicate that the 
      // exception is already handled.
      e.ExceptionHandled = true;

      // When an exception occurs, keep the DetailsView
      // control in edit mode.
      e.KeepInEditMode = true;
    }
  }

  void DisplayValues(DetailsViewUpdatedEventArgs e)
  {
    
    MessageLabel.Text += "<br/></br>";
    
    // Iterate through the OldValue and NewValues
    // properties and display the values.
    for (int i = 0; i < e.OldValues.Count; i++)
    {
      MessageLabel.Text += "Old Value=" + e.OldValues[i].ToString() +
        ", New Value=" + e.NewValues[i].ToString() + "<br/>";
    }

    MessageLabel.Text += "</br>";
    
  }
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">
    <title>DetailsViewUpdatedEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>DetailsViewUpdatedEventArgs Example</h3>
                       
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          autogenerateeditbutton="true"  
          allowpaging="true"
          datakeynames="CustomerID" 
          onitemupdated="CustomerDetailsView_ItemUpdated"
          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>


<%@ 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 CustomerDetailsView_ItemUpdated(ByVal sender As Object, ByVal e As DetailsViewUpdatedEventArgs)
  
    ' Use the Exception property to determine whether an exception
    ' occurred during the insert operation.
    If e.Exception Is Nothing Then
    
      ' Use the Values property to get the value entered by 
      ' the user for the CompanyName field.
      Dim keyFieldValue As String = e.Keys("CustomerID").ToString()

      ' Display a confirmation message.
      MessageLabel.Text = "Record " & keyFieldValue & _
        " updated successfully. "

      ' Display the old and new values.
      DisplayValues(e)

      If e.AffectedRows = 1 Then

        MessageLabel.Text &= e.AffectedRows.ToString() & _
          " record updated."
      
      Else
      
        MessageLabel.Text &= e.AffectedRows.ToString() & _
          " records updated."
      
      End If
    
    Else
    
      ' Insert the code to handle the exception.
      MessageLabel.Text = e.Exception.Message

      ' Use the ExceptionHandled property to indicate that the 
      ' exception is already handled.
      e.ExceptionHandled = True

      ' When an exception occurs, keep the DetailsView
      ' control in edit mode.
      e.KeepInEditMode = True
    
    End If
    
  End Sub

  Sub DisplayValues(ByVal e As DetailsViewUpdatedEventArgs)
    
    MessageLabel.Text &= "<br/></br>"
    
    ' Iterate through the OldValue and NewValues
    ' properties and display the values.
    Dim i As Integer
        
    For i = 0 To e.OldValues.Count - 1
    
      MessageLabel.Text &= "Old Value=" & e.OldValues(i).ToString() & _
        ", New Value=" & e.NewValues(i).ToString() & "<br/>"
    
    Next

    MessageLabel.Text &= "</br>"
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">
    <title>DetailsViewUpdatedEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>DetailsViewUpdatedEventArgs Example</h3>
                       
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          autogenerateeditbutton="true"  
          allowpaging="true"
          datakeynames="CustomerID" 
          onitemupdated="CustomerDetailsView_ItemUpdated"
          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>

Commenti

Il DetailsView controllo genera l' ItemUpdated evento quando viene fatto clic su un pulsante Aggiorna ( CommandName un pulsante con la relativa proprietà impostata su "Update") all'interno del controllo, DetailsView ma dopo che il controllo ha aggiornato il record.The DetailsView control raises the ItemUpdated event when an Update button (a button with its CommandName property set to "Update") within the control is clicked, but after the DetailsView control updates the record. Questo consente di fornire un gestore eventi che esegue una routine personalizzata, ad esempio il controllo dei risultati di un'operazione di aggiornamento, ogni volta che si verifica questo evento.This allows you to provide an event handler that performs a custom routine, such as checking the results of an update operation, whenever this event occurs.

Un DetailsViewUpdatedEventArgs oggetto viene passato al gestore eventi, che consente di determinare il numero di record interessati ed eventuali eccezioni che potrebbero essersi verificate.A DetailsViewUpdatedEventArgs object is passed to the event handler, which allows you to determine the number of records affected and any exceptions that might have occurred. Per determinare il numero di record interessati dall'operazione di aggiornamento, utilizzare la AffectedRows proprietà.To determine the number of records affected by the update operation, use the AffectedRows property. Utilizzare la Exception proprietà per determinare se si sono verificate eccezioni.Use the Exception property to determine whether any exceptions occurred. È inoltre possibile indicare se l'eccezione è stata gestita nel gestore eventi impostando la ExceptionHandled proprietà.You can also indicate whether the exception was handled in the event handler by setting the ExceptionHandled property. Se è necessario accedere ai valori dei campi chiave per il record aggiornato, utilizzare la Keys proprietà.If you need to access the key field values for the updated record, use the Keys property. È possibile accedere ai valori dei campi non chiave originali e aggiornati utilizzando rispettivamente OldValues le NewValues proprietà e.The original and updated non-key field values can be accessed using the OldValues and NewValues properties, respectively.

Per impostazione predefinita, DetailsView il controllo torna alla modalità specificata DefaultMode dalla proprietà dopo un'operazione di aggiornamento.By default, the DetailsView control returns to the mode specified by the DefaultMode property after an update operation. Per rendere il DetailsView controllo in modalità di modifica, impostare KeepInEditMode la proprietà truesu.To keep the DetailsView control in edit mode, set the KeepInEditMode property to true.

Per altre informazioni su come gestire gli eventi, vedere la gestione e generazione di eventi.For more information about how to handle events, see Handling and Raising Events.

Per un elenco dei valori iniziali delle proprietà di un'istanza della classe DetailsViewUpdatedEventArgs, vedere il costruttore DetailsViewUpdatedEventArgs.For a list of initial property values for an instance of the DetailsViewUpdatedEventArgs class, see the DetailsViewUpdatedEventArgs constructor.

Costruttori

DetailsViewUpdatedEventArgs(Int32, Exception) DetailsViewUpdatedEventArgs(Int32, Exception) DetailsViewUpdatedEventArgs(Int32, Exception) DetailsViewUpdatedEventArgs(Int32, Exception)

Inizializza una nuova istanza della classe DetailsViewUpdatedEventArgs.Initializes a new instance of the DetailsViewUpdatedEventArgs class.

Proprietà

AffectedRows AffectedRows AffectedRows AffectedRows

Ottiene il numero di righe interessate dall'operazione di aggiornamento.Gets the number of rows affected by the update operation.

Exception Exception Exception Exception

Ottiene l'eventuale eccezione generata durante l'operazione di aggiornamento.Gets the exception (if any) that was raised during the update operation.

ExceptionHandled ExceptionHandled ExceptionHandled ExceptionHandled

Ottiene o imposta un valore che indica se un'eccezione generata durante l'operazione di aggiornamento è stata gestita nel gestore eventi.Gets or sets a value indicating whether an exception that was raised during the update operation was handled in the event handler.

KeepInEditMode KeepInEditMode KeepInEditMode KeepInEditMode

Ottiene o imposta un valore che indica se il controllo DetailsView deve rimanere in modalità di modifica dopo un'operazione di aggiornamento.Gets or sets a value indicating whether the DetailsView control should remain in edit mode after an update operation.

Keys Keys Keys Keys

Ottiene un dizionario contenente le coppie nome/valore dei campi chiave del record aggiornato.Gets a dictionary that contains the key field name/value pairs for the updated record.

NewValues NewValues NewValues NewValues

Ottiene un dizionario contenente le nuove coppie nome/valore dei campi del record aggiornato.Gets a dictionary that contains the new field name/value pairs for the updated record.

OldValues OldValues OldValues OldValues

Ottiene un dizionario contenente le coppie nome/valore originarie dei campi del record aggiornato.Gets a dictionary that contains the original field name/value pairs for the updated record.

Metodi

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Si applica a

Vedi anche