无法在代码中获取 DropDownList 的文本 - 可以获取值但不能获取文本
Posted
技术标签:
【中文标题】无法在代码中获取 DropDownList 的文本 - 可以获取值但不能获取文本【英文标题】:Cant get text of a DropDownList in code - can get value but not text 【发布时间】:2010-12-08 06:45:43 【问题描述】:我正在使用 ASP.NET 3.5
我有一个名为 lstCountry 的下拉列表,其中包含这样的项目:
<asp:ListItem Value="United States">Canada</asp:ListItem>
这将显示加拿大,但在代码中该值将是“美国”。如何在我的代码中检索值“Canada”?
我已经尝试了所有这些,所有这些都返回“美国”
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
【问题讨论】:
用电子邮件回复你。检查。 【参考方案1】:使用添加列表
<asp:ListItem Value="United States" Text="Canada"></asp:ListItem>
然后试试
DropDownList1.SelectedItem.Text
我发现了你的错误。
<asp:ListItem>United States</asp:ListItem>
改成
<asp:ListItem>United States1</asp:ListItem>
然后你会得到实际的价值。
问题是什么,您的下拉列表中有两个相同的值,当页面回发时,它采用第一个值作为选择并相应地给出结果。如果您在选择回发美国值后注意到什么时候
【讨论】:
不,这也是返回值“美国” 那么您的下拉列表中肯定有其他问题 你在某处设置了 selectedIndex=1 吗? 不,不是这样,我的清单中还有很多项目。如果我在文本和值相同的下方选择一个,则不会返回美国。【参考方案2】:AppendDataBoundItems="true"
需要设置。
【讨论】:
【参考方案3】:怎么样
lstCountry.Items[lstCountry.SelectedIndex].Text;
【讨论】:
不,这也是返回值“美国”【参考方案4】:试试
lstCountry.SelectedItem.Text
【讨论】:
不,这也是返回值“美国” 请提供更多代码,我猜你在其他地方做错了什么【参考方案5】:你可以试试
lstCountry.SelectedItem.Text
【讨论】:
不,这也是返回值“美国”【参考方案6】:遇到了同样的问题,刚刚解决了,我用了字符串 [variable_Name] =dropdownlist1.SelectedItem.Text;
【讨论】:
【参考方案7】:看看这里,这里有一个概念验证页面和演示,您可以使用它从下拉列表中获取任何内容:asp:DropDownList Control Tutorial Page
【讨论】:
以上是关于无法在代码中获取 DropDownList 的文本 - 可以获取值但不能获取文本的主要内容,如果未能解决你的问题,请参考以下文章
C#后台获取dropdownList选中的值value或文本text
HTML.Kendo().Dropdownlist 设置默认项
在 Windows 7 中 DropDownStyle = DropDownList 时,ComboBox.SelectedValue 与显示的文本不匹配