This documentation is archived and is not being maintained.

ListViewItem Class

Represents an individual item in a ListView control.

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

[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class ListViewItem : Control, 
<asp:ListViewItem />

The ListViewItem class is used to represent an individual item in a ListView control. An individual item usually represents a record in the underlying data source of a ListView control.

Each item in the ListView control has a designated item type, as listed in the following table.

Item type



A data item in the ListView control.


An insert item in the ListView control.


An empty item in the ListView control. The empty item is displayed when the ListView control does not have any records to display, or when a group in the ListView control does not have any more records to display.

To determine the type of a ListViewItem object, use the ItemType property.

If an item contains other controls, you can retrieve a control by using the Controls collection of the item. If the control's ID property is set, you can also use the FindControl method to find the control.

For a list of initial property values for an instance of ListViewItem, see the ListViewItem constructor.

The following example shows how to use the ListViewItem class to access the properties of the item that is being created in the ListView control.

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.

<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

<script runat="server">

  protected void ContactsListView_ItemCreated(object sender, ListViewItemEventArgs e)
    // Retrieve the current item.
    ListViewItem item = e.Item;

    // Verify if the item is a data item. 
    if (item.ItemType == ListViewItemType.DataItem)
      // Get the EmailAddressLabel Label control in the item.
      Label EmailAddressLabel = (Label)item.FindControl("EmailAddressLabel");

      // Display the e-mail address in italics.
      EmailAddressLabel.Font.Italic = true;


<html xmlns="" >
  <head id="Head1" runat="server">
    <title>ListViewItem Example</title>
    <style type="text/css">
      body { text-align: center; }
      .bgcolor { background-color: #CAEEFF; }
  <body style="font: 10pt Trebuchet MS">
    <form id="form1" runat="server">

      <h3>ListViewItem Example</h3>

      <asp:ListView ID="ContactsListView" 
          <table cellpadding="2" width="680px" border="0">
            <tr class="bgcolor" runat="server">
              <th runat="server">First Name</th>
              <th runat="server">Last Name</th>
              <th runat="server">E-mail Address</th>
            <tr id="itemPlaceholder" runat="server"></tr>
          <asp:DataPager runat="server" ID="PeopleDataPager">
              <asp:NumericPagerField ButtonCount="10" /> 
          <tr runat="server"> 
              <asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
              <asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
              <asp:Label ID="EmailAddressLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
          <tr class="bgcolor">
              <asp:TextBox ID="FirstNameTextBox" runat="server" 
                Text='<%#Bind("FirstName") %>' MaxLength="50" />
              <asp:TextBox ID="LastNameTextBox" runat="server" 
                Text='<%#Bind("LastName") %>' MaxLength="50" /> <br />
              <asp:TextBox ID="EmailAddressTextBox" runat="server" 
                Text='<%#Bind("EmailAddress") %>' MaxLength="50" /> <br />
          <tr class="bgcolor" runat="server">
            <td colspan="3">
              <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" />
              <asp:Button ID="CancelInsertButton" runat="server" CommandName="Cancel" Text="Cancel" />

      <!-- This example uses Microsoft SQL Server and connects      -->
      <!-- to the AdventureWorks sample database. Use an ASP.NET    -->
      <!-- expression to retrieve the connection string value       -->
      <!-- from the Web.config file.                                -->
      <asp:SqlDataSource ID="ContactsDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT FirstName, LastName, EmailAddress FROM Person.Contact"
        InsertCommand="INSERT INTO Person.Contact
         ([FirstName], [LastName], [EmailAddress], [PasswordHash], [PasswordSalt]) 
         Values(@FirstName, @LastName, @EmailAddress, '', '')">


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

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