Export (0) Print
Expand All

ListView.InsertItemTemplate Property

Updated: July 2009

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)

[BrowsableAttribute(false)]
[PersistenceModeAttribute(PersistenceMode.InnerProperty)]
[TemplateContainerAttribute(typeof(ListViewItem), BindingDirection.TwoWay)]
public virtual ITemplate InsertItemTemplate { get; set; }
<asp:ListView>
	<InsertItemTemplate>ITemplate</InsertItemTemplate>
</asp:ListView>

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

Cancel

"Cancel"

Insert

"Insert"

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.

Security noteSecurity 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" 
  DataSourceID="ContactsDataSource" 
  DataKeyNames="ContactID"
  OnItemInserted="ContactsListView_ItemInserted"  
  InsertItemPosition="LastItem"
  runat="server">
  <LayoutTemplate>
    <table cellpadding="2" border="1" runat="server" id="tblContacts" width="640px">
      <tr runat="server" id="itemPlaceholder" />
    </table>
    <asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12">
      <Fields>
        <asp:NextPreviousPagerField 
          ShowFirstPageButton="true" ShowLastPageButton="true"
          FirstPageText="|&lt;&lt; " LastPageText=" &gt;&gt;|"
          NextPageText=" &gt; " PreviousPageText=" &lt; " />
      </Fields>
    </asp:DataPager>
  </LayoutTemplate>
  <ItemTemplate>
    <tr runat="server">
      <td valign="top">
        <asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
        <asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
      </td>
      <td>&nbsp;
        <asp:Label ID="EmailLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
      </td>
    </tr>
  </ItemTemplate>
  <InsertItemTemplate>
    <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") %>' />
      </td>
      <td>
        <asp:LinkButton ID="InsertButton" runat="server" 
          CommandName="Insert" Text="Insert" />
      </td>
    </tr>
  </InsertItemTemplate>
</asp:ListView>

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5

Date

History

Reason

July 2009

Added an explanation about where the insert item UI appears.

Customer feedback.

Community Additions

ADD
Show:
© 2015 Microsoft