我的vb.net webform中有5个复选框,我希望在页面加载时已经选中了两个复选框,然后说明checkbox1和checkbox2将在页面加载事件中检查....然后当我检查checkbox3和checkbox4然后在文本框中忽略1,2 ..
将显示为3,4我想用vb.net做...
答案 0 :(得分:0)
我发现你的问题有点不清楚所以我可能会误解。
听起来您需要做的就是在页面加载事件期间存储检查复选框的位置,然后当您检查其他复选框时,您只需忽略已经检查过的复选框。
所以在你的页面加载中,有类似的东西(所有代码只是一个展示结构的例子,可能无法编译):
Dim preChecked As New List(Of CheckBox)
For Each ctrl As Control In page1.Controls
If TypeOf ctrl Is CheckBox Then
Dim chk As CheckBox = CType(ctrl, CheckBox)
If chk.Checked Then
preChecked.Add(chk)
End IF
End If
Next
然后在你的其他代码中,你只需要:
For Each ctrl As Control In page1.Controls
If TypeOf ctrl Is CheckBox Then
Dim chk As CheckBox = CType(ctrl, CheckBox)
If Not preChecked.Contains(chk) Then
If chk.Checked Then
' chk is checked but wasn't checked in the page load so show that in the textbox
End If
End If
End If
Next