在下拉列表中使用附加值

时间:2012-02-27 23:12:15

标签: language-agnostic

目前,我收到了一段可以使用的代码。有一个下拉列表,显示学生的年级/年份(准备 - 12年级)。此代码将“准备”值添加到下拉列表中,我相信:

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

下拉列表的名称是YearLevelAdmission,它是一个代码,用于将上述代码中的数据填充到它:

 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文件编写的。

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

If ddlYearLevelAdmission.SelectedValue ="Prep" Then
panel1.visible= false
panel2.visible = false
Else
panel1.visible = true
panel2.visible = true
End If

问题是当我选择Prep时,会有自动回发但没有任何变化,两个面板仍然存在。我已经被困了一天了。

非常感谢帮助

干杯

1 个答案:

答案 0 :(得分:0)

当你向DropDown添加“Prep”时,你实际上是在添加一个ListItem,而不是一个字符串。我相信你会添加一个字符串 - 而不是

ddlYear.Items.Add(New ListItem("Prep", CStr(iLoop)))

你应该写

ddlYear.Items.Add("Prep")