Вопрос

Обычно, если я связываю 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") ?? "" %> 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top