目前,我收到了一段可以使用的代码。有一个下拉列表,显示学生的年级/年份(准备 - 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时,会有自动回发但没有任何变化,两个面板仍然存在。我已经被困了一天了。
非常感谢帮助
干杯
答案 0 :(得分:0)
当你向DropDown添加“Prep”时,你实际上是在添加一个ListItem,而不是一个字符串。我相信你会添加一个字符串 - 而不是
ddlYear.Items.Add(New ListItem("Prep", CStr(iLoop)))
你应该写
ddlYear.Items.Add("Prep")