ASP.NET Checkbox привязывает данные к типу данных Byte - PullRequest
0 голосов
/ 01 марта 2010

Как я могу получить asp.net для двусторонней привязки данных (через Bind ("myfieldname")) к байтовому значению? Я храню логические значения в Sql Server в типе Byte, и он, похоже, ищет логические значения. Очевидно, мне нужно что-то для преобразования байта моего источника данных

Изучил создание метода для вызова, подобного MyConvertMethod (Bind ("myfieldname")), но asp.net 4.0 не позволил это с "Bind ()", хотя это разрешало с помощью "Eval ()", но Eval только сделать одностороннюю привязку данных. Я заглянул в ConvertHandler, но, похоже, это winforms, а не webforms.

1 Ответ

2 голосов
/ 01 марта 2010

Я не могу ответить на ваш вопрос напрямую, но могу предложить альтернативный подход. Вы можете использовать приведение в запросе или хранимую процедуру, чтобы преобразовать значение в логическое значение. Если значения поля могут быть только 0 или 1, то сделайте это:

cast(field_name as bit) as field_name

Если используются другие значения (скажем, 1 и 2), используйте оператор case для выполнения приведения:

cast(case when field_name = 1 then 0 else 1 end as bit) as field_name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...