首页 文章

Telerik RadGrid中的LINQ过滤器问题

提问于
浏览
1

我使用Telerik RadGrid时遇到问题 . 当我在数据列上应用过滤器时,我将过滤器表达式用作Linq表达式 . 所以(服务器端)我在NeedDataSource处理程序中使用Dynamic Linq(来自MIcrosoft LINQ示例)解析它 . 问题是,当我将“Start With”指定为过滤器时,我会收到以下“Linq表达式”:

(iif(Name == null, "", Name).ToString().StartsWith("A"))

什么是“iif”????什么对应“iif”????用法很明显:处理空值....

奇怪的是,当我在网格上应用过滤器,从网络服务而不是从服务器端回调加载数据时,所有工作和这个问题都没有提出 . 两种方式,两种解析功能,不仅是常见的一种 .

任何的想法?提前致谢

1 回答

  • 0

    在动态LINQ iif(x,y,z) 是三元的另一种语法if x ? y : z ,同名是used in VB for some time ("Immediate IF")

    在这种情况下,它看起来像null-coalescing operator ??,但似乎Dynamic LINQ不支持它

    (Name ?? string.Empty).ToString().StartsWith("A")
    

    也许尝试用三元符号替换iif?你能澄清一下发生的确切错误是什么吗?

相关问题