我继承了一个我必须更新的网站,但是我遇到了下拉列表的问题。 页面上有两个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>
<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>
<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名称列表。
这就是我得到的:
选择用户的下拉列表应显示第二个名称,我在DB中验证了该名称,并且正确显示了隐藏字段值。我错过了什么?我现在一直在盯着这部分代码几个小时,但我什么也没做。
有人有想法吗?
并提前感谢...
答案 0 :(得分:0)
这就是我最终想出来的。
我将两个下拉列表框都更改为.SelectedItem.Text = [What Ever Variable],现在效果很好。