Нулевые значения Linq to SQL в GridView
-
23-08-2019 - |
Вопрос
Обычно, если я связываю ObjectDataSource с GridView и у меня есть TemplateColumn, в котором есть Eval и он имеет значение Null, я могу просто добавить «.ToString()», он работает нормально.По какой-то причине это не работает при использовании Linq to SQL.
Изначально я использовал файлы XSD для своего DAL с собственным BLL.Я связал его с GridView с помощью ObjectDataSource.Я занимаюсь заменой файлов XSD с помощью Linq to SQL, и все работает так же, как и по-старому, за исключением столбцов, которые могут иметь нулевые значения.
Кто-нибудь сталкивался с этим раньше, и если да, то как мне обойти эту проблему?
Решение
Большая часть всего, что возвращает LINQ, имеет Обнуляемые типы.Таким образом, в ваших привязывающих выражениях вам нужно использовать getValueordefault (). ToString () или новый "??" нулевой оператор объединения, а не просто старый ToString ().Надеюсь, это поможет.Проверь это связь наружу.
Пример:
// this will output the int if not null otherwise an empty string.
<%# (int?)Eval("MyIntegerField") ?? "" %>