Cant get text of a DropDownList in code - can get value but not text

108,316

Solution 1

add list using

<asp:ListItem Value="United States" Text="Canada"></asp:ListItem>

and then try

DropDownList1.SelectedItem.Text

I found your mistake.

<asp:ListItem>United States</asp:ListItem> 

change this to

<asp:ListItem>United States1</asp:ListItem> 

Then you will got the actual value.

What was the issue is, there are two same values in your dropdown, when page postback, it take first value as selected and give the result accordingly. if you noticed when after postback United State Value is selected

Solution 2

AppendDataBoundItems="true" needs to be set.

Solution 3

What about

lstCountry.Items[lstCountry.SelectedIndex].Text;
Share:
108,316
Etienne
Author by

Etienne

Updated on August 01, 2022

Comments

  • Etienne
    Etienne almost 2 years

    I am using ASP.NET 3.5

    I have a drop-down list called lstCountry with an item in it like this:

    <asp:ListItem Value="United States">Canada</asp:ListItem> 
    

    This will display Canada but in code the value will be "United States". How can I retrieve the value "Canada" also in my code?

    I have tried all of these and all of them return "United States"

    lstCountry.Text
    lstCountry.SelectedValue
    lstCountry.SelectedItem.Text
    

    My Drop Down list:

     <asp:DropDownList ID="lstCountry" runat="server" Width="200px">
                  <asp:ListItem>Please Select</asp:ListItem>
      <asp:ListItem>United States</asp:ListItem>
      <asp:ListItem Value="United States">Canada</asp:ListItem>
     </asp:DropDownList>
    

    How I read the value in code:

        Dim country As String
        country = lstCountry.SelectedItem.Text