DetailsViewUpdatedEventArgs Klas

Definitie

Biedt gegevens voor de ItemUpdated gebeurtenis.

public ref class DetailsViewUpdatedEventArgs : EventArgs
public class DetailsViewUpdatedEventArgs : EventArgs
type DetailsViewUpdatedEventArgs = class
    inherit EventArgs
Public Class DetailsViewUpdatedEventArgs
Inherits EventArgs
Overname
DetailsViewUpdatedEventArgs

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u het DetailsViewUpdatedEventArgs object gebruikt dat is doorgegeven aan de gebeurtenis-handler ItemUpdated om te bepalen of er een uitzondering is opgetreden tijdens een updatebewerking.


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

Opmerkingen

Het DetailsView besturingselement genereert de ItemUpdated gebeurtenis wanneer op een knop Bijwerken (een knop met CommandName de eigenschap is ingesteld op 'Bijwerken') binnen het besturingselement wordt geklikt, maar nadat het besturingselement de DetailsView record heeft bijgewerkt. Hiermee kunt u een gebeurtenishandler opgeven die een aangepaste routine uitvoert, zoals het controleren van de resultaten van een updatebewerking wanneer deze gebeurtenis plaatsvindt.

Er wordt een DetailsViewUpdatedEventArgs object doorgegeven aan de gebeurtenis-handler, waarmee u het aantal betrokken records en eventuele uitzonderingen kunt bepalen. Gebruik de AffectedRows eigenschap om het aantal records te bepalen dat wordt beïnvloed door de updatebewerking. Gebruik de Exception eigenschap om te bepalen of er uitzonderingen zijn opgetreden. U kunt ook aangeven of de uitzondering is verwerkt in de gebeurtenis-handler door de eigenschap in te ExceptionHandled stellen. Als u toegang nodig hebt tot de sleutelveldwaarden voor de bijgewerkte record, gebruikt u de Keys eigenschap. De oorspronkelijke en bijgewerkte niet-sleutelveldwaarden kunnen worden geopend met respectievelijk de OldValues en NewValues eigenschappen.

Standaard keert het DetailsView besturingselement terug naar de modus die door de DefaultMode eigenschap is opgegeven na een updatebewerking. Als u het besturingselement in de DetailsView bewerkingsmodus wilt houden, stelt u de KeepInEditMode eigenschap in op true.

Zie Gebeurtenissen verwerken en genereren voor meer informatie over het afhandelen van gebeurtenissen.

Zie de DetailsViewUpdatedEventArgs constructor voor een lijst met initiële eigenschapswaarden voor een exemplaar van de DetailsViewUpdatedEventArgs klasse.

Constructors

Name Description
DetailsViewUpdatedEventArgs(Int32, Exception)

Initialiseert een nieuw exemplaar van de DetailsViewUpdatedEventArgs klasse.

Eigenschappen

Name Description
AffectedRows

Hiermee haalt u het aantal rijen op dat wordt beïnvloed door de updatebewerking.

Exception

Hiermee wordt de uitzondering (indien aanwezig) opgehaald die is gegenereerd tijdens de updatebewerking.

ExceptionHandled

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of er een uitzondering is gegenereerd tijdens de updatebewerking in de gebeurtenis-handler.

KeepInEditMode

Hiermee haalt u een waarde op die aangeeft of het besturingselement na een updatebewerking in de DetailsView bewerkingsmodus moet blijven.

Keys

Hiermee haalt u een woordenlijst op die de sleutelveldnaam/waardeparen voor de bijgewerkte record bevat.

NewValues

Hiermee haalt u een woordenlijst op die de nieuwe veldnaam/waardeparen voor de bijgewerkte record bevat.

OldValues

Hiermee haalt u een woordenlijst op die de oorspronkelijke veldnaam/waardeparen voor de bijgewerkte record bevat.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook