带有 2 个参数的子句 linq 或不正确检索值

乔利尼斯

我的问题是,我有一个带有 2 个参数的 where 子句的 linq 查询,第一个参数来自全局过滤器,第二个来自列过滤器。

当我在全局过滤器中输入值时,我没有在列过滤器中输入任何值,(列将为 string.empty),我没有返回任何值,但我应该有。

似乎一切都很好,但我不明白错误在哪里。

string search = Request.Form.GetValues("search[value]")[0];
var column= Request.Form.GetValues("columns[0][search][value]").FirstOrDefault() ?? string.Empty;

            var dataResut = data.Where(
                                p => 
                               p.ProductName.ToLower().Contains(search.ToLower()) || p.ProductName.ToLower().Contains(column.ToLower())
                                ).ToList();

我在这里缺少什么:(

提前致谢。

乔利尼丝

阿亚兹

请试试这个

var dataResut = data.Where(
                            p =>
                           (string.IsNullOrEmpty(search) ? false : p.ProductName.ToLower().Contains(search.ToLower())) || (string.IsNullOrEmpty(column) ? false : p.ProductName.ToLower().Contains(column.ToLower()))
                            ).ToList();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章