无法设置asp.net下拉列表从

时间:2018-02-15 20:35:35

标签: html asp.net vb.net dropdown

我继承了一个我必须更新的网站,但是我遇到了下拉列表的问题。 页面上有两个asp.net下拉列表框。它们是ddlReminderUser1和ddlReminderUser2。当页面加载函数时,从SQL DB中提取数据并设置一些隐藏的字段值。根据这些值,正在设置下拉列表。

问题是有两个下拉列表,只有一个是设置选定的值,另一个不是。

以下是drop drown列表的HTML:

<asp:DropDownList runat="server" ID="ddlReminderUser1" AutoPostBack="true" CssClass="text-primary mt-1 width125" Visible="false" OnSelectedIndexChanged="ddlReminderUser1_SelectedIndexChanged"></asp:DropDownList>
&nbsp;
<asp:ImageButton ID="btnXUser1" runat="server" AlternateText="X" ImageUrl="~/Images/red-x-md15x15.png" ToolTip="Click to remove user 1" Visible="false" />
<br />
<asp:DropDownList runat="server" ID="ddlReminderUser2" AutoPostBack="true" CssClass="text-primary mt-1 width125" Visible="false" OnSelectedIndexChanged="ddlReminderUser2_SelectedIndexChanged"></asp:DropDownList>
&nbsp;
<asp:ImageButton ID="btnXUser2" runat="server" AlternateText="X" ImageUrl="~/Images/red-x-md15x15.png" ToolTip="Click to remove user 2" Visible="false" />

这是后面的代码(在VB中):

    'Set user names in ddl's
With ddlReminderUser1
    .Visible = True
    If getAdList(1) < 1 Then
        message = "Can't get user list from AD for Notifications.\nError: SQL104\nPlease contact the Help Desk for support."
        alertMessage(message)
        .SelectedIndex = 0
    Else
        .SelectedValue = hUser1.Value.ToString()
        btnXUser1.Visible = True
    End If
End With
'Check for second email address
If ddlNumberOfUsers.SelectedIndex = 2 Then
    ddlReminderUser2.Visible = True
    If getAdList(2) < 1 Then
        message = "Can't get user list from AD for Notifications.\nError: SQL104\nPlease contact the Help Desk for support."
        alertMessage(message)
        ddlReminderUser2.SelectedIndex = 0
    Else
        ddlReminderUser2.SelectedValue = hUser2.Value.ToString()
        btnXUser2.Visible = True
    End If

    'With ddlReminderUser2
    '    .Visible = True
    '    If getAdList(2) < 1 Then
    '        message = "Can't get user list from AD for Notifications.\nError: SQL104\nPlease contact the Help Desk for support."
    '        alertMessage(message)
    '        .SelectedIndex = 0
    '    Else
    '        .SelectedValue = hUser2.Value.ToString()
    '        btnXUser2.Visible = True
    '    End If
    'End With
End If

注释掉的部分获得完全相同的结果。我虽然也许With声明我的问题但它似乎不是。

函数getAdList工作正常,因为当我检查下拉列表时,它有AD名称列表。

这就是我得到的:

enter image description here

选择用户的下拉列表应显示第二个名称,我在DB中验证了该名称,并且正确显示了隐藏字段值。我错过了什么?我现在一直在盯着这部分代码几个小时,但我什么也没做。

有人有想法吗?

并提前感谢...

1 个答案:

答案 0 :(得分:0)

这就是我最终想出来的。

我将两个下拉列表框都更改为.SelectedItem.Text = [What Ever Variable],现在效果很好。