This documentation is archived and is not being maintained.

HtmlSelect.SelectedIndex Property

Gets or sets the ordinal index of the selected item in an HtmlSelect control.

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

public virtual int SelectedIndex { get; set; }
<asp:HtmlSelect SelectedIndex="Int32" />

Property Value

Type: System.Int32
The ordinal index of the selected item in an HtmlSelect control. A value of -1 indicates that no item is selected.


The property was set to a value greater than the number of items in the HtmlSelect control or less than -1.

The SelectedIndex property is commonly used to determine the index of the selected item in a single-selection HtmlSelect control. This index can then be used to retrieve the item from the Items collection.

If the Multiple property is set to true, indicating that multiple items can be concurrently selected, the SelectedIndex property contains the index of the first selected item. To determine the selected items from an HtmlSelect control that allows multiple simultaneous selections, iterate through the Items collection and test the ListItem.Selected property of each item.

Caution noteCaution

It is possible to have no item selected. If no item is selected, the SelectedIndex property contains a value of -1. This commonly occurs when the page first loads and an item is not selected by default. Provide code to test this value before referencing the item in the Items collection. Otherwise, an exception is thrown if the index is out of the range of the collection.

By default, the HtmlSelect control is displayed as a drop-down list box. If you allow multiple selections (by setting the Multiple property to true) or specify a height greater than one row (by setting the Size property to a value greater than 1), the control is displayed as a list box. If a drop-down list box is displayed, an item is always selected. If a list box is displayed, you can programmatically clear the selection from all items by setting the SelectedIndex property to -1.

The following code example demonstrates how to use the SelectedIndex property to determine the index of the selected item in the HtmlSelect control. The index is then used to retrieve the selected item from the Items collection.

<%@ Page Language="C#" AutoEventWireup="True" %>

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

    <title> HtmlSelect Example </title>
<script runat="server">

      void Button_Click (Object sender, EventArgs e)

         Label1.Text = "You selected the item with index number " + 
                       Select1.SelectedIndex.ToString() + 
                       " and contains the value " +
                       Select1.Value + ".";





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

      <h3> HtmlSelect Example </h3>

      Select items from the list: <br /><br />

      <select id="Select1" 

         <option value="Text for Item 1" selected="selected"> Item 1 </option>
         <option value="Text for Item 2"> Item 2 </option>
         <option value="Text for Item 3"> Item 3 </option>
         <option value="Text for Item 4"> Item 4 </option>
         <option value="Text for Item 5"> Item 5 </option>
         <option value="Text for Item 6"> Item 6 </option>


      <br /><br />

      <button id="Button1"



      <br /><br />

      <asp:Label id="Label1"




.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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