DetailsViewUpdatedEventArgs Class
Assembly: System.Web (in system.web.dll)
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. 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.
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. To determine the number of records affected by the update operation, use the AffectedRows property. Use the Exception property to determine whether any exceptions occurred. You can also indicate whether the exception was handled in the event handler by setting the ExceptionHandled property. If you need to access the key field values for the updated record, use the Keys property. The original and updated non-key field values can be accessed using the OldValues and NewValues properties, respectively.
By default, the DetailsView control returns to the mode specified by the DefaultMode property after an update operation. To keep the DetailsView control in edit mode, set the KeepInEditMode property to true.
For more information about handling events, see Consuming Events.
For a list of initial property values for an instance of the DetailsViewUpdatedEventArgs class, see the DetailsViewUpdatedEventArgs constructor.
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="VB" %> <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> <body> <form 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>
- AspNetHostingPermission for operating in a hosted environment. Demand value: LinkDemand; Permission value: Minimal.
- AspNetHostingPermission for operating in a hosted environment. Demand value: InheritanceDemand; Permission value: Minimal.
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.