DataList.Items Property


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

Gets a collection of DataListItem objects representing the individual items within the control.

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

public virtual DataListItemCollection Items { get; }

Property Value

Type: System.Web.UI.WebControls.DataListItemCollection

A DataListItemCollection that contains a collection of DataListItem objects representing the individual items within the DataList control.

Use the Items collection to programmatically control the items in the DataList control. The Items collection does not provide any methods to add or remove items to the collection. However, you can control the contents of an item by providing a handler for the ItemCreated event.


Only items bound to the data source are contained in the Items collection. The header, footer, and separator are not included in the collection.

The following code example demonstrates how to use the Items collection to display the items in the DataList control.


The following code sample uses the single-file code model and may not work correctly if copied directly into a code-behind file. This code sample must be copied into an empty text file that has an .aspx extension. For more information on the Web Forms code model, see ASP.NET Web Forms Page Code Model.

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<html xmlns="" >
   <script language = "C#" runat="server">

      ICollection CreateDataSource() 
         DataTable dt = new DataTable();
         DataRow dr;

         dt.Columns.Add(new DataColumn("StringValue", typeof(string)));

         for (int i = 0; i < 10; i++) 
            dr = dt.NewRow();
            dr[0] = "Item " + i.ToString();

         DataView dv = new DataView(dt);
         return dv;

      void Page_Load(Object sender, EventArgs e) 
         if (!IsPostBack) 
            DataList1.DataSource = CreateDataSource();

      void Button_Click(Object sender, EventArgs e)
         if (DataList1.Items.Count > 0)
            Label1.Text = "The Items collection contains: <br />";

            foreach(DataListItem item in DataList1.Items)

               Label1.Text += ((DataBoundLiteralControl)item.Controls[0]).Text +
                              "<br />";


<head runat="server">
    <title>DataList Items Example</title>

   <form id="form1" runat="server">

      <h3>DataList Items Example</h3>

      <asp:DataList id="DataList1" runat="server"

         <HeaderStyle BackColor="#aaaadd">

         <AlternatingItemStyle BackColor="Gainsboro">





            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>



        <br /><br />

      <asp:Button id="Button1"
           Text="Display Contents of Items Collection"

      <br /><br />

      <asp:Label id="Label1"



.NET Framework
Available since 1.1
Return to top