Нулевые значения Linq to SQL в GridView - PullRequest
1 голос
/ 17 февраля 2009

Обычно, если я связываю ObjectDataSource с GridView, и у меня есть TemplateColumn, в котором есть Eval, и он имеет значение Null, я могу просто поставить ".ToString ()", он работает нормально. По какой-то причине это не работает, когда вы используете Linq to SQL.

Изначально я использовал файлы XSD для моего DAL с пользовательским BLL. Я привязал его к GridView с помощью ObjectDataSource. Я нахожусь в процессе замены XSD-файлов с помощью Linq на SQL, и все работает так же, как и в старом стиле, за исключением столбцов, которые могут иметь значения Null.

Кто-нибудь сталкивался с этим раньше, и если да, то как мне обойти эту проблему?

1 Ответ

3 голосов
/ 17 февраля 2009

Большинство всего, что возвращает LINQ, имеет Обнуляемые типы . Поэтому в выражениях привязки вам нужно использовать GetValueOrDefault (). ToString () или новый «??» пустой оператор объединения, а не просто старый ToString (). Надеюсь, это поможет. Проверьте эту ссылку на.

Пример:

// this will output the int if not null otherwise an empty string.
<%# (int?)Eval("MyIntegerField") ?? "" %> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...