【发布时间】:2015-08-26 19:37:01
【问题描述】:
我有一个页面列出了大约 10-50 个 DDL。它们都是动态创建和填充的。这些 DDL 有不同的集合。页面顶部有一个 DDL 和提交按钮,用于使用新选择的集合更新所有 DDL。
根据用户交互,某些 DDL 可以具有预设的选定值。 这些是从 SQL 中提取并应用的。这在第一次选择 DDL 集时可以正常工作。但是当我选择一个新的 DDL 集时,即使给出的值是正确的,所选值也不正确(见图)。
代码:
注意:每个 ddl 都有不同的 ID(未显示)
If displayArray.Count = 1 Then
ddl.Enabled = False
ddl.Items.Add(New ListItem("Please use manuel entry", -1))
Else
ddl.Enabled = True
' Add default selection
ddl.Items.Add(New ListItem("Not Assigned", -1))
For Each item In displayArray
ddl.Items.Add(New ListItem(displayArray(count), valueArray(count)))
count += 1
Next
End If
If preSelReviewer <> -1 Then
ddl.SelectedValue = preSelReviewer
Else
ddl.SelectedValue = -1
End If
一般情况下,如果我选择了第一个 DDL 被禁用的集合,然后更改为没有禁用 DDL 的集合,则第一个 DDL ddl.SelectedValue 不应用(即使当我单步执行代码时) .
我知道这与ddl.Enabled 有关,因为我删除的那一刻一切正常。
编辑
每当我更改特定 DDL 上的某些内容时,这似乎都会发生。如:
ddl.CssClass 或 ddl.Visible。
【问题讨论】:
-
你试过用
.SelectedIndex代替.SelectedValue吗?您可以在填充 DDL 时找出要选择的索引。 -
是的,同样的问题。我认为问题出在我使用 ID 更新某些内容时。即使 ID 不同,它似乎也会更新其他下拉列表。