DataList.SelectedItemTemplate 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 template for the selected item in the DataList control.

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

public virtual ITemplate SelectedItemTemplate { get; set; }

Property Value

Type: System.Web.UI.ITemplate

A System.Web.UI.ITemplate that contains the template for the selected item in the DataList control. The default value is null.

Use the SelectedItemTemplate property to control the contents of the selected item. The appearance of the selected item is controlled by the SelectedItemStyle property.

To specify a template for the selected item, place the <SelectedItemTemplate> tags between the opening and closing tags of the DataList control. You can then list the contents of the template between the opening and closing <SelectedItemTemplate> tags.


This control can be used to display user input, which might include malicious client script. Check any information that is sent from a client for executable script, SQL statements, or other code before displaying it in your application. You can use validation controls to verify user input before displaying the input text in a control. ASP.NET provides an input request validation feature to block script and HTML in user input. For more information, see Securing Standard ControlsHow to: Protect Against Script Exploits in a Web Application by Applying HTML Encoding to Strings, and Validating User Input in ASP.NET Web Pages.

The following code example demonstrates how to use the SelectedItemTemplate property to control the contents of the selected item 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="" >
    <title>DataList Select Example</title>
<script runat="server">

      ICollection CreateDataSource() 

         // Create sample data for the DataList control.
         DataTable dt = new DataTable();
         DataRow dr;

         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("Item", typeof(Int32)));
         dt.Columns.Add(new DataColumn("Qty", typeof(Int32)));
         dt.Columns.Add(new DataColumn("Price", typeof(double)));

         // Populate the table with sample values.
         for (int i = 0; i < 9; i++) 
            dr = dt.NewRow();

            dr[0] = i;
            dr[1] = i * 2;
            dr[2] = 1.23 * (i + 1);


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


      void Page_Load(Object sender, EventArgs e) 

         // Load sample data only once, when the page is first loaded.
         if (!IsPostBack) 
            ItemsList.DataSource = CreateDataSource();


      void Item_Command(Object sender, DataListCommandEventArgs e) 

         // Set the SelectedIndex property to select an item in the DataList.
         ItemsList.SelectedIndex = e.Item.ItemIndex;

         // Rebind the data source to the DataList to refresh the control.
         ItemsList.DataSource = CreateDataSource();




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

      <h3>DataList Select Example</h3>

      Click <b>Select</b> to select an item.

      <br /><br />

      <asp:DataList id="ItemsList"

         <HeaderStyle BackColor="#aaaadd">

         <AlternatingItemStyle BackColor="Gainsboro">

         <SelectedItemStyle BackColor="Yellow">





            <asp:LinkButton id="SelectButton" 

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



            <asp:Label id="ItemLabel" 
                 Text='<%# DataBinder.Eval(Container.DataItem, "Item") %>' 

            <br />

            <asp:Label id="QtyLabel" 
                 Text='<%# DataBinder.Eval(Container.DataItem, "Qty") %>' 

            <br />

            <asp:Label id="PriceLabel" 
                 Text='<%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %>' 





.NET Framework
Available since 1.1
Return to top