我使用Telerik RadGrid时遇到问题 . 当我在数据列上应用过滤器时,我将过滤器表达式用作Linq表达式 . 所以(服务器端)我在NeedDataSource处理程序中使用Dynamic Linq(来自MIcrosoft LINQ示例)解析它 . 问题是,当我将“Start With”指定为过滤器时,我会收到以下“Linq表达式”:
(iif(Name == null, "", Name).ToString().StartsWith("A"))
什么是“iif”????什么对应“iif”????用法很明显:处理空值....
奇怪的是,当我在网格上应用过滤器,从网络服务而不是从服务器端回调加载数据时,所有工作和这个问题都没有提出 . 两种方式,两种解析功能,不仅是常见的一种 .
任何的想法?提前致谢
1 回答
在动态LINQ
iif(x,y,z)
是三元的另一种语法ifx ? y : z
,同名是used in VB for some time ("Immediate IF")在这种情况下,它看起来像null-coalescing operator ??,但似乎Dynamic LINQ不支持它
也许尝试用三元符号替换iif?你能澄清一下发生的确切错误是什么吗?