2010-03-01 6 views
0

Comment puis-je obtenir asp.net pour une connexion de données bidirectionnelle (via Bind ("myfieldname")) à une valeur Byte? Je stocke des valeurs booléennes dans Sql Server à un type Byte et il semble chercher booléen. Apparemment j'ai besoin de quelque chose pour convertir mes sources de données ByteLiaison de données ASP.NET Checkbox au type de données Byte

A regardé dans la création d'une méthode pour appeler comme MyConvertMethod (Bind ("myfieldname")) mais asp.net 4.0 ne l'a pas permis avec "Bind()" mais il l'a permis avec "Eval()" mais Eval semble seulement faire une liaison de données à sens unique. J'ai regardé dans le ConvertHandler mais semble être des formes de winforms et pas de webforms.

Répondre

2

Je ne peux pas répondre à votre question directement, mais je peux suggérer une autre approche. Vous pouvez utiliser la conversion dans une requête ou une procédure stockée pour convertir la valeur en valeur booléenne. Si les valeurs de champ ne peuvent être 0 ou 1, faites ceci:

cast(field_name as bit) as field_name 

Si d'autres valeurs (par exemple, 1 et 2) sont utilisés, utilisez une déclaration de cas pour faire le casting:

cast(case when field_name = 1 then 0 else 1 end as bit) as field_name 
+0

merci pour l'idée - j'ai fini par ajouter un champ à la classe partielle entityframework qui a fait la conversion en bool vers et à partir de l'octet – DKS

Questions connexes