Asp.net VB.Net Dropdownlist有一个SelectedValue,该值无效,因为它不在项目列表中。参数名称:value

Asp.net VB.Net Dropdownlist有一个SelectedValue,该值无效,因为它不在项目列表中。参数名称:value,asp.net,vb.net,Asp.net,Vb.net,我一直遇到上面的错误,我尝试将dropdownlist设置为new dropdownlist,然后进行绑定,但这会阻止任何绑定。我的代码: Private Sub putStudentInstitutionList() Dim strSql As String Dim rtnSchoolData As DataSet strSql = "SELECT schoolID, name FROM tSchool WHERE status = 1 ORDE

我一直遇到上面的错误,我尝试将dropdownlist设置为new dropdownlist,然后进行绑定,但这会阻止任何绑定。我的代码:

Private Sub putStudentInstitutionList()
        Dim strSql As String
        Dim rtnSchoolData As DataSet
        strSql = "SELECT schoolID, name FROM tSchool WHERE status = 1 ORDER BY name"
        rtnSchoolData = cDB.executeReturn(strSql)

        ddlInstitution.Items.Clear()
        If rtnSchoolData.Tables(0).Rows.Count > 0 Then
            ddlInstitution.AppendDataBoundItems = True
        ddlInstitution.DataSource = rtnSchoolData.Tables(0)
        ddlInstitution.DataTextField = "name"
        ddlInstitution.DataValueField = "schoolID"
        ddlInstitution.DataBind()
        ddlInstitution.Items.Insert(0, New ListItem("", ""))
        ddlInstitution.SelectedIndex = 0
        ddlInstitution.Items.Insert(1, New ListItem("All Schools", "ALL"))
    End If
End Sub
如果您能提供相关信息,我们将不胜感激。问题发生在回发时,因为它正试图重新绑定dropdownlist。
将其包装在基于page.postback的条件中不起作用,因为dropdownlist是在另一个dropdownlist的基础上填充的,因此本质上是绑定在postback上的

您可以在aspx上声明性地添加这些项,并将DopDownList的AppendDataBoundItems设置为true。除此之外,我假设您只有在以下情况下才没有调用此方法!嗨,蒂姆,用html而不是vb设置会有什么好处吗?不可能使用if!iPostback作为应用程序的原始创建者,以这样一种方式开发它,如果!使用IsPostBack时,dropdownlist根本不会绑定