【问题标题】:Dynamic drop down list - SelectedValue which is invalid because it does not exist in the list of items动态下拉列表 - SelectedValue 无效,因为它不存在于项目列表中
【发布时间】:2013-08-26 08:22:42
【问题描述】:

这让我发疯了...我有两个动态创建的 asp 下拉框,品牌和型号。当用户选择品牌时,它会调用一个名为 makeChanged 的​​ ASP 按钮。当 makeChanged 运行时,它应该清除模型下拉列表中的项目,然后创建新的。所以处理makeChanged按钮的代码如下:

Sub makeChanged (ByVal sender As Object, ByVal e As System.EventArgs)

Dim thingID = sender.ID.split("_")(1)

Dim modelDD As DropDownList = thingsContainer.FindControl("model_" & thingID )
modelDD.EnableViewState = False
modelDD.Items.Clear()
modelDD.SelectedValue = -1
modelDD.AppendDataBoundItems = True

Dim select_qry = "select * from Models where makeid=" & sender.SelectedValue

Dim objData2 As SqlDataReader = getSqlQueryObj(select_qry)
modelDD.DataSource = objData2
modelDD.DataValueField = "models"
modelDD.DataTextField = "models"
modelDD.DataBind() 'This is where the error is getting triggered from

End Sub

我知道查询或查找下拉列表没有任何问题,因为我运行了许多 response.write,它返回了预期的结果。我认为这可能是因为 viewState 保留了索引上的旧值已更改,然后在我用数据库中的新值重新填充列表后尝试将其添加到列表中,但是我关闭了 viewState 来检查这个它仍然没有任何区别:|。

感谢任何帮助! 谢谢!

【问题讨论】:

    标签: asp.net vb.net dynamic drop-down-menu selectedvalue


    【解决方案1】:

    您已将SelectedValue 设置为必须存在的-1。不要将它与SelectedIndex 混淆,-1 表示不应选择任何内容。

    所以我假设你真的想要:

    ' ...
     modelDD.Items.Clear()
     modelDD.SelectedIndex = -1  ' instead of SelectedValue = -1
    ' ...
    

    【讨论】:

    • 感谢您的回复,但是我也尝试了 modelDD.SelectedIndex = -1,但我仍然收到错误。
    • @Rezzy:你试过carModel...,但是DropDownList的ID是modelDD,不是吗?
    • 顺便说一句,在我的页面上发生了以下情况: 第 1 步:页面加载 - 创建下拉列表 - 通过数据绑定从数据库填充其值。步骤2:更改索引-页面加载功能将再次运行(它总是在调用按钮/索引更改之前的任何提交上执行)创建下拉列表并将其值设置为旧值(与步骤1完全相同)。然后在页面加载后触发索引更改函数,该函数尝试通过数据绑定再次填充下拉列表。所以这意味着下拉列表实际上绑定了两次,但我不明白为什么会出现问题。
    • @Rezzy:你为什么需要AppendDataBoundItems
    • 我实际上并没有大声笑,我只是拼命尝试我在网上找到的每一个解决方案。实际上我想我刚刚找到了解决方案....我只是在执行数据绑定之前添加了一行:“modelDD.SelectedValue = Nothing”,它使modelDD无效并且它似乎有效!你知道为什么在地球上解决它吗?为什么会发生这种行为,我不明白。
    猜你喜欢
    • 2013-04-22
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    相关资源
    最近更新 更多