ListView.InsertItemTemplate Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the custom content for an insert item in the ListView control.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web.Extensions (in System.Web.Extensions.dll)

<TemplateContainerAttribute(GetType(ListViewItem), BindingDirection.TwoWay)>
Public Overridable Property InsertItemTemplate As ITemplate

Property Value

Type: System.Web.UI.ITemplate

An object that contains the custom content for the insert item in the ListView control. The default is null, which indicates that this property is not set.

Use the InsertItemTemplate property to define a custom user interface (UI) for the insert item in the ListView control. This UI is rendered either at the start or at the end of the displayed items. You specify where the UI is rendered by using the InsertItemPosition property.

The InsertItemTemplate template usually contains the input controls for the user to enter the values for a new record. It also usually contains buttons or hyperlinks to insert the record and to cancel the insert operation.

To specify the custom template declaratively, add an InsertItemTemplate element inside the ListView element. You can then add the contents of the template to the InsertItemTemplate element. You can associate a field with an input control by using a two-way binding expression. When a record is inserted, the ListView control automatically extracts the field value from the associated input control. For more information, see Data-Binding Expressions Overview.

To create buttons that perform the built-in cancel and insert operations, add a button control to the template. Set its CommandName property to one of the values listed in the following table.

Button type

CommandName value





You can control the position of the insert item in the ListView control by using the InsertItemPosition property.

The following example shows how to define a custom template for the insert item of a ListView control. This code example is part of a larger example provided for the ItemInserted event.

System_CAPS_security Security Note

This example has a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview.

<asp:ListView ID="ContactsListView" 
    <table cellpadding="2" border="1" runat="server" id="tblContacts" width="640px">
      <tr runat="server" id="itemPlaceholder" />
    <asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12">
          ShowFirstPageButton="true" ShowLastPageButton="true"
          FirstPageText="|&lt;&lt; " LastPageText=" &gt;&gt;|"
          NextPageText=" &gt; " PreviousPageText=" &lt; " />
    <tr runat="server">
      <td valign="top">
        <asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
        <asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
        <asp:Label ID="EmailLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
    <tr style="background-color:#D3D3D3">
      <td valign="top">
        <asp:Label runat="server" ID="FirstNameLabel" 
          AssociatedControlID="FirstNameTextBox" Text="First Name"/>
        <asp:TextBox ID="FirstNameTextBox" runat="server" 
          Text='<%#Bind("FirstName") %>' /><br />
        <asp:Label runat="server" ID="LastNameLabel" 
          AssociatedControlID="LastNameTextBox" Text="Last Name" />
        <asp:TextBox ID="LastNameTextBox" runat="server" 
          Text='<%#Bind("LastName") %>' /><br />
        <asp:Label runat="server" ID="EmailLabel" 
          AssociatedControlID="EmailTextBox" Text="E-mail" />
        <asp:TextBox ID="EmailTextBox" runat="server" 
          Text='<%#Bind("EmailAddress") %>' />
        <asp:LinkButton ID="InsertButton" runat="server" 
          CommandName="Insert" Text="Insert" />

.NET Framework
Available since 3.5
Return to top