gpt4 book ai didi

c# - 下拉列表没有选择正确的索引

转载 作者:太空宇宙 更新时间:2023-11-03 21:47:58 24 4
gpt4 key购买 nike

我有一个数据库绑定(bind)下拉列表,它从数据库中获取其值。

当我调用 ddl.SelectedItem .Text 或 .Value 时,索引不正确。

假设数据库表中的值是这样的:

Column1 | Column2

Dublin1 | Value1
Dublin2 | Value1
Dublin3 | Value1
London1 | Value2
London2 | Value2
London3 | Value2

SQL 选择查询:

SELECT [Column1],[Column2] FROM [Table] ORDER BY [Column1]

DDL:

<asp:DropDownList runat="server" ID="ddl" 
DataSourceID="SQLDataSource" DataTextField="Column1"
DataValueField="Column2"></asp:DropDownList>

仅在 ASPX 上绑定(bind):

<asp:SqlDataSource ID="SQLDataSource" runat="server" 
ConnectionString="<%$ConnectionStrings:DatabaseConnectionString %>"
SelectCommand="SELECT [Column1],[Column2],FROM [Table] ORDER BY [Column1]">
</asp:SqlDataSource>

因此,当我从下拉列表中获取所选项目时,无论我选择 Dublin2 还是 Dublin3,它总是返回 Dublin1,与伦敦值相同。

ddl 为 item.text 和 item.value 正确填充。

关于边界我需要设置什么吗?

最佳答案

我认为下拉列表中的值必须是唯一的并且 Column2 具有重复值。您应该修改数据绑定(bind)以在文本和值上使用 Column1:

<asp:DropDownList runat="server" ID="ddl" 
DataSourceID="SQLDataSource" DataTextField="Column1"
DataValueField="Column1"></asp:DropDownList>

然后在代码隐藏访问中,您需要一个表的副本并像这样访问它以获取值:

Dictionary<string, string> table = //Get the table here with Column1 as keys    
table[ddl.SelectedItem.Value]

关于c# - 下拉列表没有选择正确的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15972337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com