Clause linq with 2 parameter with operator OR don't retrieve the values correctly
Clause linq with 2 parameter with operator OR don´t retrieve the values correctly
我的问题是,我有一个带有带有 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();
我的问题是,我有一个带有带有 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();