我正在使用ASP.NET 3.5
我有一个名为lstCountry的下拉列表,其中包含一个项目,如下所示:
<asp:ListItem Value="United States">Canada</asp:ListItem>
这将显示加拿大,但代码中的值将是“美国”.如何在我的代码中检索值“加拿大”?
我已经尝试了所有这些,所有这些都返回“美国”
lstCountry.Text lstCountry.SelectedValue lstCountry.SelectedItem.Text
我的下拉列表:
<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>
我如何读取代码中的值:
Dim country As String country = lstCountry.SelectedItem.Text
解决方法
添加列表使用
<asp:ListItem Value="United States" Text="Canada"></asp:ListItem>
然后尝试
DropDownList1.SelectedItem.Text
我发现你的错误.
<asp:ListItem>United States</asp:ListItem>
将其更改为
<asp:ListItem>United States1</asp:ListItem>
那么你将得到实际的价值.
问题是,您的下拉菜单中有两个相同的值,当页面回发时,将首选值作为选定值,并相应地给出结果.如果您注意到在回发后United States Value被选中