Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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
like image 999
Etienne Avatar asked Oct 20 '09 09:10

Etienne


3 Answers

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

like image 198
Muhammad Akhtar Avatar answered Oct 24 '22 07:10

Muhammad Akhtar


AppendDataBoundItems="true" needs to be set.

like image 3
john Avatar answered Oct 24 '22 06:10

john


What about

lstCountry.Items[lstCountry.SelectedIndex].Text;
like image 1
rahul Avatar answered Oct 24 '22 08:10

rahul