下拉列表获取所选项目的表ID,而不是下拉列表ID

时间:2013-09-03 07:37:03

标签: .net vb.net sql-server-2008

我有一个由数据库填充的下拉列表,我需要为所选名称获取客户表“Id”,但我得到下拉列表的selectedIndex,它与表格不对应;

这将按照姓氏的字母顺序填充4个名称的下拉列表,因此Miko Alcot是第一个,下拉列表给Miko一个selectedIndex为“1”,但我需要客户表ID为“4”。我怎么做到的?我正在使用dropdownlist.SelectedIndex.ToStrgin(),它为我提供了下拉列表的选定索引,而不是与名称对应的表格ID。

Customer Table          GenericAttribute Table             

Id     Username             EntityId     Key     Value
1        foo                    1       fname    John
2        bar                    1       lname     Doe
3        flip                   2       fname    Greg
4        flop                   2       lname    Zowiski
                                3       fname    Paula
                                3       lname    Lindhurst
                                4       fname    Miko
                                4       lname    Alcot

 Dim Adapter9 As New SqlDataAdapter("SELECT [firstname] + ' ' + [lastname] As Name, Id, UserName From (Select a.Id, a.UserName, b.[key], b.[Value] From Customer a INNER JOIN GenericAttribute b ON a.Id = b.EntityId Where UserName IS NOT NULL) org PIVOT (MAX([Value]) For [Key] In ([firstname], [lastname])) pvt Order by [lastname] ASC", "Data Source=myDataSource")
    Dim Dataset9 As New DataSet
    Adapter9.Fill(Dataset9, "Customer")
    ddlUsers.DataSource = Dataset9
    ddlUsers.DataTextField = "Name"
    ddlUsers.DataValueField = "Id"
    ddlUsers.DataBind()
    ddlUsers.Items.Insert(0, New ListItem("--Select User--", "0"))

2 个答案:

答案 0 :(得分:1)

您可以使用SelectedIndexChanged事件来检查ddlUsers.SelectedValue属性。

答案 1 :(得分:1)

来自评论

selected index changed even中添加以下代码ddlUsers.selectedValue并再次检查