FormView.ItemInserted Event
Occurs when an Insert button within a FormView control is clicked, but after the insert operation.
Assembly: System.Web (in System.Web.dll)
The FormView control raises the ItemInserted event when an Insert button (a button with its CommandName property set to "Insert") within the control is clicked, but after the FormView control inserts the record. This allows you to provide an event-handling method that performs a custom routine, such as checking the results of an insert operation, whenever this event occurs.
A FormViewInsertedEventArgs 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 insert 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 values of the inserted record, use the Values property.
By default, the FormView control returns to the mode specified by the DefaultMode property after an insert operation. To keep the FormView control in insert mode, set the KeepInInsertMode property to true.
For more information about handling events, see NIB: Consuming Events.
The following example demonstrates how to use the ItemInserted event to determine whether an exception occurred during an insert 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_ItemInserted(ByVal sender As Object, ByVal e As FormViewInsertedEventArgs) ' Use the Exception property to determine whether an exception ' occurred during the insert operation. If e.Exception Is Nothing Then ' Use the AffectedRows property to determine whether the ' record was inserted. Sometimes an error might occur that ' does not raise an exception, but prevents the insert ' operation from completing. If e.AffectedRows = 1 Then MessageLabel.Text = "Record inserted successfully." Else MessageLabel.Text = "An error occurred during the insert operation." ' Use the KeepInInsertMode property to remain in insert mode ' when an error occurs during the insert operation. e.KeepInInsertMode = 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.KeepInInsertMode = True End If End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>FormViewInsertedEventArgs Example</title> </head> <body> <form id="form1" runat="server"> <h3>FormViewInsertedEventArgs Example</h3> <asp:formview id="EmployeeFormView" datasourceid="EmployeeSource" allowpaging="true" datakeynames="EmployeeID" emptydatatext="No employees found." oniteminserted="EmployeeFormView_ItemInserted" runat="server"> <itemtemplate> <table> <tr> <td rowspan="5"> <asp:image id="CompanyLogoImage" imageurl="~/Images/Logo.jpg" alternatetext="Company logo" 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 colspan="2"> <asp:linkbutton id="NewButton" text="New" commandname="New" runat="server"/> </td> </tr> </table> </itemtemplate> <insertitemtemplate> <table> <tr> <td rowspan="4"> <asp:image id="CompanyLogoEditImage" imageurl="~/Images/Logo.jpg" alternatetext="Company logo" runat="server"/> </td> <td colspan="2"> </td> </tr> <tr> <td> <b><asp:Label runat="server" AssociatedControlID="FirstNameInsertTextBox" Text="Name" />:</b> </td> <td> <asp:textbox id="FirstNameInsertTextBox" text='<%# Bind("FirstName") %>' runat="server"/> <asp:textbox id="LastNameInsertTextBox" text='<%# Bind("LastName") %>' runat="server"/> </td> </tr> <tr> <td> <b><asp:Label runat="server" AssociatedControlID="TitleInsertTextBox" Text="Title" />:</b> </td> <td> <asp:textbox id="TitleInsertTextBox" text='<%# Bind("Title") %>' runat="server"/> </td> </tr> <tr> <td colspan="2"> <asp:linkbutton id="InsertButton" text="Insert" commandname="Insert" runat="server"/> <asp:linkbutton id="CancelButton" text="Cancel" commandname="Cancel" runat="server"/> </td> </tr> </table> </insertitemtemplate> </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], [PhotoPath] From [Employees]" insertcommand="Insert Into [Employees] ([LastName], [FirstName], [Title]) VALUES (@LastName, @FirstName, @Title)" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
Available since 2.0