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
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
AppendDataBoundItems="true"
needs to be set.
What about
lstCountry.Items[lstCountry.SelectedIndex].Text;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With