2013-02-21 5 views
0

Кто-нибудь знает, почему следующее всегда дает мне 0, даже если cbEligibleToJoin is Checked?Не удалось определить состояние флажка

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) then и if (cbEligibleToJoin.Checked) then и получить тот же результат, т.е. 0 в БД.

+0

вы должны не быть проверка True/False? – SQLGuru

+0

Я думал, что если я не включаю '= 1', он проверяет на' true' или 'false'? – oshirowanen

+0

, где вы написали этот код? Нажатие кнопки или любое сообщение после события? Вы проверили свойство IsPostBack в загрузке страницы? –

ответ

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) then', и это, похоже, не имеет значения. – oshirowanen

+0

Отправляется ли страница назад и фактическая установка элемента управления для проверки после его нажатия? – Jacooobley

+0

Когда элемент управления проверен, повторная передача не выполняется. Post post в данный момент происходит при нажатии кнопки. – oshirowanen

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 

 Смежные вопросы

  • Нет связанных вопросов^_^