下拉列表SelectedValue不起作用

时间:2015-08-26 19:37:01

标签: asp.net vb.net

我有一个列出大约10-50 DDL的页面。它们都是动态创建和填充的。这些DDL有不同的集合。在页面顶部有一个DDL和提交按钮,用于使用新选择的集合更新所有DDL。

根据用户交互,某些DDL可以预先设置选定的值。 这些是从SQL中提取并应用的。这在第一次选择DDL集时工作正常。但是当我选择一个新的DDL设置时,即使它给出的值是正确的,所选的值也是不正确的(参见图片)。

enter image description here

代码:

注意:每个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.CssClassddl.Visible

1 个答案:

答案 0 :(得分:0)

viewstate(因为它出现在pageload之后)覆盖了我的控件。因此,设置页面EnableViewState="false"可以解决问题。