【问题标题】:Using added value in Drop Down List在下拉列表中使用附加值
【发布时间】:2012-02-27 23:12:14
【问题描述】:

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

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

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

非常感谢您的帮助

干杯

【问题讨论】:

    标签: language-agnostic


    【解决方案1】:

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

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

    你应该写

    ddlYear.Items.Add("Prep")
    

    【讨论】:

    • 那么我们正在查看错误的代码。您能否在 If ddlYearLevelAdmission.SelectedValue ="Prep" Then 设置断点并验证“SelectedValue”的类型和值?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    • 2015-06-12
    • 1970-01-01
    相关资源
    最近更新 更多