2013-02-21 83 views
0

任何人都知道为什么以下总是给我一个0即使cbEligibleToJoinChecked无法检测复选框状态

if (cbEligibleToJoin.Checked = 1) then 
    objSQLCommand.Parameters.Add("@eligible_to_join", SqlDbType.Int, 4).Value = ctype(1, integer) 
else 
    objSQLCommand.Parameters.Add("@eligible_to_join", SqlDbType.Int, 4).Value = ctype(0, integer) 
end if 

我试图if (cbEligibleToJoin.Checked = 1) thenif (cbEligibleToJoin.Checked) then并得到相同的结果,即0在分贝。

+0

你应该不会检查真/假? – SQLGuru 2013-02-21 12:18:28

+0

我想如果我不包含'= 1',它会检查'true'或'false'吗? – oshirowanen 2013-02-21 12:19:19

+0

你在哪里写过这段代码?在按钮点击或任何回发事件?你在页面加载时是否检查过IsPostBack属性? – 2013-02-21 12:19:21

回答

0

我觉得你的问题是,该复选框值正在寻找“真”或“假”,而不是一个整数

使用ELSEIF将确定它是否真正进入这些

之一的布尔
If cbEligibleToJoin.Checked = True Then 
    objSQLCommand.Parameters.Add("@eligible_to_join", SqlDbType.Int, 4).Value = 1 
ElseIf cbEligibleToJoin.Checked = False Then 
    objSQLCommand.Parameters.Add("@eligible_to_join", SqlDbType.Int, 4).Value = 0 
End If 
+0

我刚试过if(cbEligibleToJoin .Checked = true)然后',它似乎没有什么区别。 – oshirowanen 2013-02-21 12:22:39

+0

页面是否回传并实际设置控件在被点击后进行检查? – Jacooobley 2013-02-21 12:23:26

+0

当控件被选中时,不会发生回发。当按钮被点击时发回当前发生。 – oshirowanen 2013-02-21 12:26:15

0

你可以试试这个:

if (cbEligibleToJoin.Checked) then 
    objSQLCommand.Parameters.Add("@eligible_to_join", SqlDbType.Int, 4).Value = 1 
else 
    objSQLCommand.Parameters.Add("@eligible_to_join", SqlDbType.Int, 4).Value = 0 
end if