我有20个复选框要处理,但我不想写20个IF,如
If MGTReview.GetCPO = 1 Then
Checkbox1.Checked = True
Else : Checkbox1.Checked = False
End If
在数据拉动中,然后写出20个IF,如
Dim CPO as boolean
If Checkbox1.Checked = True, CPO=1
Else: CPO=0
End If
所以我有一个注册用户控件,公共属性如下:
Public Property checkResult() As Integer
Get
Return _checkResult
End Get
Set(ByVal value As Integer)
_checkResult = value
Select Case _checkResult
Case 1
CheckBoxA.Checked = True
Case 0
CheckBoxA.Checked = False
End Select
End Set
End Property
我页面后面的vb代码是
Checkbox2.checkResult = MGTReview.GetCPOP
Checkbox3.checkResult = MGTReview.GetCCA
Checkbox4.checkResult = MGTReview.GetCCAP
Checkbox5.checkResult = MGTReview.GetCR
Checkbox6.checkResult = MGTReview.GetCP
...
现在从1转换为checked = true效果很好,我可以在网站上看到它们。但如果我取消选中一个框并单击“更新”,我的值不会从1更改为0.
我想知道我应该写什么课?我应该写另一个公共财产(我实际上是公共财产的新手)吗?
感谢您的建议!
答案 0 :(得分:1)
如果你真的想要这样做,我认为做这样的事情会更容易:
chkCPOP.Checked = (MGTReview.GetCPOP = 1)
你可能想看一下数据绑定控件的复制,已经对这个问题有所了解: ASP.NET Binding integer to CheckBox's Checked field