Language agnostic 在下拉列表中使用附加值

Language agnostic 在下拉列表中使用附加值,language-agnostic,Language Agnostic,目前,我已经收到了一段代码。有一个下拉列表,显示学生的年级/年级(预科12年级)。“Prep”值通过此代码添加到Dropdownlist,我相信: Public Sub PopulateGradeWithPrep(ByRef ddlYear As DropDownList, ByVal intMax As Integer, ByVal intMin As Integer) Dim iLoop As Integer 'populate year d

目前,我已经收到了一段代码。有一个下拉列表,显示学生的年级/年级(预科12年级)。“Prep”值通过此代码添加到Dropdownlist,我相信:

Public Sub PopulateGradeWithPrep(ByRef ddlYear As DropDownList, ByVal intMax As Integer, ByVal intMin As Integer)
            Dim iLoop As Integer

            'populate year ddl

            If ddlYear.Items.Count = 0 Then
                For iLoop = intMin To intMax
                    If (iLoop = 0) Then
                        ddlYear.Items.Add(New ListItem("Prep", CStr(iLoop)))
                    Else
                        ddlYear.Items.Add(CStr(iLoop))
                    End If
                Next
            End If
        End Sub
dropdownlist的名称为YearLevelAcmission,是一个用于将上述代码中的数据填充到其中的代码,如下所示:

 Private Sub PopulateScreenList(ByVal strYearLevelAdmission As String)
        'Populate year level admission
        slco.PopulateGradeWithPrep(ddlYearLevelAdmission, 12, 0)
        'populate year level admission value
        If Not slco.IsStringBlank(strYearLevelAdmission) Then
            slco.SelectItemInDDList(ddlYearLevelAdmission, strYearLevelAdmission)
        End If
slco模块是通用的。第一个代码是用.vb文件编写的

上面的2个代码是给我的,我正在使用代码隐藏,试图选择“Prep”的值,然后面板的一些部分将不可见。这是我的代码:

If ddlYearLevelAdmission.SelectedValue ="Prep" Then
panel1.visible= false
panel2.visible = false
Else
panel1.visible = true
panel2.visible = true
End If
问题是当我选择Prep时,有自动回发功能,但没有任何更改,两个面板仍然存在。我已经被困了一天了

非常感谢你的帮助

干杯

当您在下拉列表中添加“Prep”时,实际上是在添加列表项,而不是字符串。我相信您需要添加一个字符串,而不是

ddlYear.Items.Add(New ListItem("Prep", CStr(iLoop)))
你应该写

ddlYear.Items.Add("Prep")

然后我们看到了错误的代码。请在If.SelectedValue=“Prep”上设置断点,然后验证“SelectedValue”的类型和值,好吗?