This documentation is archived and is not being maintained.

HtmlSelect.DataSource Property

Gets or sets the source of information to bind to the HtmlSelect control.

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

public virtual Object DataSource { get; set; }
/** @property */
public Object get_DataSource ()

/** @property */
public void set_DataSource (Object value)

public function get DataSource () : Object

public function set DataSource (value : Object)

Property Value

An IEnumerable or IListSource that contains a collection of values used to supply data to this control. The default value is a null reference (Nothing in Visual Basic).

Exception typeCondition


The specified data source is not compatible with either System.Collections.IEnumerable or System.ComponentModel.IListSource, and it is not a null reference (Nothing in Visual Basic).


The data source cannot be resolved because a value is specified for both the DataSource property and the DataSourceID property.

Use the DataSource property to specify the data source to bind to the HtmlSelect control. A data source must be an object that implements either the System.Collections.IEnumerable interface (such as System.Data.DataView, System.Collections.ArrayList, or System.Collections.Hashtable) or the IListSource interface. When you set the DataSource property, you must manually write the code to perform data binding.

If the data source contains multiple sets of data, such as a System.Data.DataSet object with multiple tables, use the DataMember property to specify which data set to bind to the control.

You can specify which fields from the data source to bind to the ListItem.Text and ListItem.Value properties of each item in the control by setting the DataTextField and DataValueField properties, respectively.

Alternately, you can use the DataSourceID property to automatically bind to a data source represented by a data source control. When you set the DataSourceID property, the data listing control automatically binds to the specified data source control. You do not need to write code that explicitly calls the DataBind method.

If values are specified for both the DataSource property and the DataSourceID property, ASP.NET is not able to resolve the data source and a System.Web.HttpException exception is thrown.

The following code example demonstrates how to use the DataSource property to specify the source of information to bind to the HtmlSelect control.

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



   <script runat="server">

      void Page_Load (Object sender, EventArgs e)

        // Bind the HtmlSelect control to a data source when the page is initially loaded.
        if (!IsPostBack)
           // Open a connection to the database and run the query.
           // Note that the connection string may vary depending on your
           // database server settings. 
           string ConnectString = "server=localhost;database=pubs;integrated security=SSPI";
           string QueryString = "select * from authors";

           SqlConnection myConnection = new SqlConnection(ConnectString);
           SqlDataAdapter myCommand = new SqlDataAdapter(QueryString, myConnection);

           // Create a dataset to store the query results.
           DataSet ds = new DataSet();
           myCommand.Fill(ds, "Authors");

           // Bind the HtmlSelect control to the data source.
           Select1.DataSource = ds;
           Select1.DataTextField = "au_fname";
           Select1.DataValueField = "au_fname";


      void Button_Click (Object sender, EventArgs e)
         // Display the selected items. 
         Label1.Text = "You selected:";

         for (int i=0; i<=Select1.Items.Count - 1; i++)
            if (Select1.Items[i].Selected)
               Label1.Text += "<br> &nbsp;&nbsp; - " + Select1.Items[i].Text;





   <form runat="server">

      <h3> HtmlSelect Example </h3>

      Select items from the list. <br>
      Use the Control or Shift key to select multiple items. <br><br>

      <select id="Select1"


      <button id="Button1"




      <asp:Label id="Label1"




Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Supported in: 2.0, 1.1, 1.0