In this article I will explain with an example, how to bind Label and TextBox on DropDownList change in ASP.Net using C# and VB.Net.
 
 

Database

I have made use of the following table Customers with the schema as follows.
DataBinding DropDownList Label and Textbox Controls in ASP.Net
 
I have already inserted few records in the table.
DataBinding DropDownList Label and Textbox Controls in ASP.Net
 
Note: You can download the database table SQL by clicking the download link below.
           Dowsnload SQL file
 
 

HTML Markup

The following HTML Markup consists of:
DropDownList – For displaying ID of the Customers.

Properties

AutoPostBack – For allowing controls submit the Form (PostBack) which cannot submit on their own.
 

Events

The DropDownList has been assigned with an OnSelectedIndexChanged event handler.
TextBox – For displaying Name of the selected CustomerId.
Label – For displaying Country name of the selected CustomerId.
<b>Select Customer ID :</b>
<asp:DropDownList ID="ddlCustomers" runat="server" AutoPostBack="true" OnSelectedIndexChanged="OnSelectedIndexChanged">
</asp:DropDownList>
<br />
<p>
    <b>Customer Details</b>
</p>
<hr />
<table>
    <tr>
        <td>Name:<asp:TextBox ID="txtName" runat="server"></asp:TextBox></td>
    </tr>
    <tr>
        <td>Country:<asp:Label ID="lblCountry" runat="server" Text=""></asp:Label></td>
    </tr>
</table>
 
 

Namespaces

You will need to import the following namespaces.
C#
using System.Data.SqlClient;
using System.Configuration;
 
VB.Net
Imports System.Data.SqlClient
Imports System.Configuration
 
 

Populating DropDownList from database

Inside the Page Load event handler, the DropDownList is populated with records i.e. ID fetched from the SQL Server database.
Note: For more details on how to populate DropDownList from database, please refer my article Bind / Fill / Populate DropDownList control from database in ASP.Net using C# and VB.Net.
 
C#
protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
        string query = "SELECT CustomerID FROM Customers";
        using (SqlConnection con = new SqlConnection(constr))
        {
            using (SqlCommand cmd = new SqlCommand(query, con))
            {
                con.Open();
                ddlCustomers.DataSource cmd.ExecuteReader();
                ddlCustomers.DataTextField "CustomerID";
                ddlCustomers.DataValueField "CustomerID";
                ddlCustomers.DataBind();
                con.Close();
                ddlCustomers.Items.Insert(0, new ListItem("--Select Customer--"""));
            }
        }
    }
}
 
VB.Net
Protected Sub Page_Load(ByVal sender As ObjectByVal e As EventArgs) Handles Me.Load
    If Not Me.IsPostBack Then
        Dim constr As String ConfigurationManager.ConnectionStrings("constr").ConnectionString
        Dim query As String "SELECT CustomerID FROM Customers"
        Using con As SqlConnection = New SqlConnection(constr)
            Using  cmd As SqlCommand = New SqlCommand(query, con)
                con.Open()
                ddlCustomers.DataSource cmd.ExecuteReader()
                ddlCustomers.DataTextField "CustomerID"
                ddlCustomers.DataValueField "CustomerID"
                ddlCustomers.DataBind()
                con.Close()
                ddlCustomers.Items.Insert(0, New ListItem("--Select Customer--"""))
            End Using
        End Using
    End If
End Sub
 
 

Setting TextBox and Label OnSelectedIndexChanged

Inside the OnSelectedIndexChanged event handler, the selected ID is fetched from the DropDownList and passed as parameter to SQL query.
The records i.e. Name and Country are fetched from the Customers Table using ExecuteReader method and set to the respective controls.
C#
protected void OnSelectedIndexChanged(object sender, EventArgs e)
{
    string customerId = ddlCustomers.SelectedItem.Value;
    string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    string query = "SELECT Name, Country FROM Customers WHERE CustomerID = @CustomerID";
    using (SqlConnection con = new SqlConnection(constr))
    {
        using (SqlCommand cmd = new SqlCommand(query, con))
        {
            cmd.Parameters.AddWithValue("@CustomerID", customerId);
            con.Open();
            SqlDataReader sdr cmd.ExecuteReader();
            if (sdr.Read())
            {
                 txtName.Text = sdr["Name"].ToString();
                 lblCountry.Text = sdr["Country"].ToString();
            }
            con.Close();
        }
    }
}
 
VB.Net
Protected Sub OnSelectedIndexChanged(ByVal sender As ObjectByVal e As EventArgs)
    Dim customerId As String ddlCustomers.SelectedItem.Value
    Dim constr As String ConfigurationManager.ConnectionStrings("constr").ConnectionString
    Dim query As String "SELECT Name, Country FROM Customers WHERE CustomerID = @CustomerID"
    Using con As SqlConnection = New SqlConnection(constr)
        Using cmd As SqlCommand = New SqlCommand(query, con)
            cmd.Parameters.AddWithValue("@CustomerID", customerId)
            con.Open()
            Dim sdr As SqlDataReader cmd.ExecuteReader()
            If sdr.Read()Then
                 txtName.Text = sdr("Name").ToString()
                 lblCountry.Text = sdr("Country").ToString()
            End If
            con.Close()
        End Using
    End Using
End Sub
 
 

Screenshot

DataBinding DropDownList Label and Textbox Controls in ASP.Net
 
 

Downloads