DetailsViewUpdatedEventArgs Klasa

Definicja

Udostępnia dane dla zdarzenia 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
Dziedziczenie
DetailsViewUpdatedEventArgs

Przykłady

Poniższy przykład kodu demonstruje, jak używać DetailsViewUpdatedEventArgs obiektu przekazaną do procedury obsługi zdarzeń dla ItemUpdated zdarzenia, aby określić, czy wystąpił wyjątek podczas operacji aktualizacji.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>

Uwagi

DetailsViewKontrolka wywołuje ItemUpdated zdarzenie, gdy kliknięto przycisk Aktualizuj (przycisk z CommandName właściwością ustawioną na "Update") w kontrolce, ale po DetailsView zaktualizowaniu rekordu przez formant.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. Dzięki temu można zapewnić programowi obsługi zdarzeń, który wykonuje procedurę niestandardową, taką jak sprawdzanie wyników operacji aktualizacji, gdy wystąpi zdarzenie.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.

DetailsViewUpdatedEventArgsObiekt jest przesyłany do procedury obsługi zdarzeń, co pozwala określić liczbę rekordów, których to dotyczy, oraz ewentualne wyjątki, które mogły wystąpić.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. Aby określić liczbę rekordów, których dotyczy operacja aktualizacji, użyj AffectedRows właściwości.To determine the number of records affected by the update operation, use the AffectedRows property. Użyj Exception właściwości, aby określić, czy wystąpiły wyjątki.Use the Exception property to determine whether any exceptions occurred. Możesz również wskazać, czy wyjątek został obsłużony w programie obsługi zdarzeń przez ustawienie ExceptionHandled właściwości.You can also indicate whether the exception was handled in the event handler by setting the ExceptionHandled property. Jeśli musisz uzyskać dostęp do wartości pól klucza dla zaktualizowanego rekordu, użyj Keys właściwości.If you need to access the key field values for the updated record, use the Keys property. Oryginalne i zaktualizowane wartości pól, które nie są kluczami, można uzyskać za pomocą OldValues NewValues odpowiednio właściwości i.The original and updated non-key field values can be accessed using the OldValues and NewValues properties, respectively.

Domyślnie DetailsView formant wraca do trybu określonego przez DefaultMode Właściwość po operacji aktualizacji.By default, the DetailsView control returns to the mode specified by the DefaultMode property after an update operation. Aby zachować DetailsView formant w trybie edycji, należy ustawić KeepInEditMode Właściwość na true .To keep the DetailsView control in edit mode, set the KeepInEditMode property to true.

Aby uzyskać więcej informacji o sposobie obsługi zdarzeń, zobacz Obsługa iwywoływanie zdarzeń.For more information about how to handle events, see Handling and Raising Events.

Aby uzyskać listę początkowych wartości właściwości dla wystąpienia DetailsViewUpdatedEventArgs klasy, zobacz DetailsViewUpdatedEventArgs Konstruktor.For a list of initial property values for an instance of the DetailsViewUpdatedEventArgs class, see the DetailsViewUpdatedEventArgs constructor.

Konstruktory

DetailsViewUpdatedEventArgs(Int32, Exception)

Inicjuje nowe wystąpienie klasy DetailsViewUpdatedEventArgs.Initializes a new instance of the DetailsViewUpdatedEventArgs class.

Właściwości

AffectedRows

Pobiera liczbę wierszy, na które ma wpływ operacja aktualizacji.Gets the number of rows affected by the update operation.

Exception

Pobiera wyjątek (jeśli istnieje), który został wywołany podczas operacji aktualizacji.Gets the exception (if any) that was raised during the update operation.

ExceptionHandled

Pobiera lub ustawia wartość wskazującą, czy wyjątek, który został wywołany podczas operacji aktualizacji, został obsłużony w obsłudze zdarzeń.Gets or sets a value indicating whether an exception that was raised during the update operation was handled in the event handler.

KeepInEditMode

Pobiera lub ustawia wartość wskazującą, czy DetailsView kontrolka ma pozostać w trybie edycji po operacji aktualizacji.Gets or sets a value indicating whether the DetailsView control should remain in edit mode after an update operation.

Keys

Pobiera słownik zawierający pary nazwa/wartość pola klucza dla zaktualizowanego rekordu.Gets a dictionary that contains the key field name/value pairs for the updated record.

NewValues

Pobiera słownik zawierający nowe pary nazwa/wartość pola dla zaktualizowanego rekordu.Gets a dictionary that contains the new field name/value pairs for the updated record.

OldValues

Pobiera słownik zawierający oryginalne pary nazwa/wartość pola dla zaktualizowanego rekordu.Gets a dictionary that contains the original field name/value pairs for the updated record.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Dotyczy

Zobacz też