2013-02-21 90 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