2013-07-15 6 views
1

На моем веб-сайте у меня есть набор флажков, но, к сожалению, ASP оценивает true как 1. Для базы данных, с которой я работаю, для true требуется -1.Bind int to checkbox

Как я могу преобразовать checkbox.checked в -1 и связать это? До сих пор в моем исходном коде ASPX я имею:

asp:Checkbox ID="AFCanInstCheckbox" runat="server" OnCheckedChanged="CheckboxValue" 

Я понимаю, что мне нужно какое-то код за который оценивает checkbox.checked либо 0/-1 и связывает, что Int значения. Может ли кто-нибудь что-нибудь предложить? Я немного застрял.

ответ

0

Ну, я думаю, это зависит от того, как вы передаете свои данные за пределы вашего уровня презентации. У вас есть уровень доступа к данным (DAL)?

Если вы делаете в линии SQL в коде-позади на обработчик события клика, то вам просто необходимо проверить настройки в int переменную и установить его значение, например:

int isChecked = 0; // Assume false 
isChecked = AFCanInstCheckbox.Checked; 

// Now in your SQL logic just use the value of isChecked to pass to database 

Если вы строят объект домена (read: class), чтобы перейти на уровень доступа к данным, вы можете сделать это следующим образом:

public class AFDomainObject 
{ 
    public bool IsSelected { get; set; } 
} 

var theAFDomainObject = new AFDomainObject(); 
theAFDomainObject.IsSelected = AFCanInstCheckbox.Checked; 

// Call DAL to do something 
DAL.DoSomething(theAFDomainObject);