FormViewUpdatedEventArgs Class
Provides data for the ItemUpdated event.
Assembly: System.Web (in System.Web.dll)
| Name | Description | |
|---|---|---|
![]() | FormViewUpdatedEventArgs(Int32, Exception) | Initializes a new instance of the FormViewUpdatedEventArgs class. |
| Name | Description | |
|---|---|---|
![]() | AffectedRows | Gets the number of rows affected by the update operation. |
![]() | Exception | Gets the exception (if any) that was raised during the update operation. |
![]() | ExceptionHandled | Gets or sets a value indicating whether an exception that was raised during the update operation was handled in the event handler. |
![]() | KeepInEditMode | Gets or sets a value indicating whether the FormView control should remain in edit mode after an update operation. |
![]() | Keys | Gets a dictionary that contains the original key field name/value pairs for the updated record. |
![]() | NewValues | Gets a dictionary that contains the new field name/value pairs for the updated record. |
![]() | OldValues | Gets a dictionary that contains the original non-key field name/value pairs for the updated record. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
The FormView 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 FormView control updates the record. This allows you to provide an event-handling method that performs a custom routine, such as checking the results of an update operation, whenever this event occurs.
A FormViewUpdatedEventArgs object is passed to the event-handling method, 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-handling method by setting the ExceptionHandled property. If you need to access the original key field values for the updated record, use the Keys property. The original non-key field values can be accessed by using the OldValues property. Updated values (which include updated key field values, if you allow the user to edit key fields) are accessed using the NewValues property.
By default, the FormView control returns to the mode specified by the DefaultMode property after an update operation. When handling an exception that occurred during the update operation, you can keep the FormView control in edit mode by setting the KeepInEditMode property to true.
For more information about handling events, see NIB: Consuming Events.
For a list of initial property values for an instance of the FormViewUpdatedEventArgs class, see the FormViewUpdatedEventArgs constructor.
The following example demonstrates how to use the FormViewUpdatedEventArgs object passed to the event-handling method for the ItemUpdated event to determine whether an exception occurred during an update operation.
<%@ 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 EmployeeFormView_ItemUpdated(ByVal sender As Object, ByVal e As FormViewUpdatedEventArgs) Handles EmployeeFormView.ItemUpdated ' Use the Exception property to determine whether an exception ' occurred during the update operation. If e.Exception Is Nothing Then ' Sometimes an error might occur that does not raise an ' exception, but prevents the update operation from ' completing. Use the AffectedRows property to determine ' whether the record was actually updated. If e.AffectedRows = 1 Then ' Use the Keys property to get the value of the key field. Dim keyFieldValue As String = e.Keys("EmployeeID").ToString() ' Display a confirmation message. MessageLabel.Text = "Record " & keyFieldValue & _ " updated successfully. " ' Display the new and original values. DisplayValues(CType(e.NewValues, OrderedDictionary), CType(e.OldValues, OrderedDictionary)) Else ' Display an error message. MessageLabel.Text = "An error occurred during the update operation." ' When an error occurs, keep the FormView ' control in edit mode. e.KeepInEditMode = True End If Else ' Insert the code to handle the exception. MessageLabel.Text = e.Exception.Message ' Use the ExceptionHandled property to indicate that the ' exception has already been handled. e.ExceptionHandled = True e.KeepInEditMode = True End If End Sub Sub DisplayValues(ByVal newValues As OrderedDictionary, ByVal oldValues As OrderedDictionary) MessageLabel.Text &= "<br/></br>" ' Iterate through the new and old values. Display the ' values on the page. Dim i As Integer For i = 0 To oldValues.Count - 1 MessageLabel.Text &= "Old Value=" & oldValues(i).ToString() & _ ", New Value=" & newValues(i).ToString() & "<br/>" Next MessageLabel.Text &= "</br>" End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>FormViewUpdatedEventArgs Example</title> </head> <body> <form id="form1" runat="server"> <h3>FormViewUpdatedEventArgs Example</h3> <asp:formview id="EmployeeFormView" datasourceid="EmployeeSource" allowpaging="true" datakeynames="EmployeeID" emptydatatext="No employees found." runat="server"> <itemtemplate> <table> <tr> <td rowspan="6"> <asp:image id="EmployeeImage" imageurl='<%# Eval("PhotoPath") %>' alternatetext='<%# Eval("LastName") %>' runat="server"/> </td> <td colspan="2"> </td> </tr> <tr> <td> <b>Name:</b> </td> <td> <%# Eval("FirstName") %> <%# Eval("LastName") %> </td> </tr> <tr> <td> <b>Title:</b> </td> <td> <%# Eval("Title") %> </td> </tr> <tr> <td> <b>Hire Date:</b> </td> <td> <%# Eval("HireDate","{0:d}") %> </td> </tr> <tr style="height:150" valign="top"> <td> <b>Address:</b> </td> <td> <%# Eval("Address") %><br/> <%# Eval("City") %> <%# Eval("Region") %> <%# Eval("PostalCode") %><br/> <%# Eval("Country") %> </td> </tr> <tr> <td colspan="2"> <asp:linkbutton id="Edit" text="Edit" commandname="Edit" runat="server"/> </td> </tr> </table> </itemtemplate> <edititemtemplate> <table> <tr> <td rowspan="6"> <asp:image id="EmployeeEditImage" imageurl='<%# Eval("PhotoPath") %>' alternatetext='<%# Eval("LastName") %>' runat="server"/> </td> <td colspan="2"> </td> </tr> <tr> <td> <b><asp:Label runat="server" AssociatedControlID="FirstNameUpdateTextBox" Text="Name" />:</b> </td> <td> <asp:textbox id="FirstNameUpdateTextBox" text='<%# Bind("FirstName") %>' accesskey="n" tabindex="1" runat="server"/> <asp:textbox id="LastNameUpdateTextBox" text='<%# Bind("LastName") %>' accesskey="l" tabindex="2" runat="server"/> </td> </tr> <tr> <td> <b><asp:Label runat="server" AssociatedControlID="TitleUpdateTextBox" Text="Title" />:</b> </td> <td> <asp:textbox id="TitleUpdateTextBox" text='<%# Bind("Title") %>' accesskey="t" tabindex="3" runat="server"/> </td> </tr> <tr> <b><asp:Label runat="server" AssociatedControlID="HireDateUpdateTextBox" Text="Hire Date" />:</b> <td> <asp:textbox id="HireDateUpdateTextBox" text='<%# Bind("HireDate", "{0:d}") %>' accesskey="h" tabindex="4" runat="server" /> </td> </tr> <tr style="height:150" valign="top"> <td> <b><asp:Label runat="server" AssociatedControlID="AddressUpdateTextBox" Text="Address" />:</b> </td> <td> <asp:textbox id="AddressUpdateTextBox" text='<%# Bind("Address") %>' accesskey="a" tabindex="5" runat="server"/> <br/> <asp:textbox id="CityUpdateTextBox" text='<%# Bind("City") %>' accesskey="c" tabindex="6" runat="server"/> <asp:textbox id="RegionUpdateTextBox" text='<%# Bind("Region") %>' width="40" accesskey="r" tabindex="7" runat="server"/> <asp:textbox id="PostalCodeUpdateTextBox" text='<%# Bind("PostalCode") %>' width="60" accesskey="p" tabindex="8" runat="server"/> <br/> <asp:textbox id="CountryUpdateTextBox" text='<%# Bind("Country") %>' accesskey="u" tabindex="9" runat="server"/> </td> </tr> <tr> <td colspan="2"> <asp:linkbutton id="UpdateButton" text="Update" tabindex="10" commandname="Update" runat="server"/> <asp:linkbutton id="CancelButton" text="Cancel" tabindex="11" commandname="Cancel" runat="server"/> </td> </tr> </table> </edititemtemplate> </asp:formview> <br/><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="EmployeeSource" selectcommand="Select [EmployeeID], [LastName], [FirstName], [Title], [Address], [City], [Region], [PostalCode], [Country], [HireDate], [PhotoPath] From [Employees]" updatecommand="Update [Employees] Set [LastName]=@LastName, [FirstName]=@FirstName, [Title]=@Title, [Address]=@Address, [City]=@City, [Region]=@Region, [PostalCode]=@PostalCode, [Country]=@Country Where [EmployeeID]=@EmployeeID" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
Available since 2.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
.jpeg?cs-save-lang=1&cs-lang=vb)
.jpeg?cs-save-lang=1&cs-lang=vb)
.jpeg?cs-save-lang=1&cs-lang=vb)