gpt4 book ai didi

c# - 在 c#back end 中使用 linq 在 asp.net 中搜索关键字

转载 作者:行者123 更新时间:2023-11-30 16:07:54 25 4
gpt4 key购买 nike

    List<search> alllist = wsWSemloyee.GetAllProject(); //where search is model class contains properties..
string search_key = "%" + txtsearch.Text.Trim() + "%";


List<search> result = new List<search>();
foreach (search item in alllist)
{
var op = (
from a in alllist
where a.Sfirstname.Contains(search_key) || a.Slastname.Contains(search_key) || a.Smob.Contains(search_key) || a.Scity.Contains(search_key) || a.Sstate.Contains(search_key)
//where SqlMethods.Like(a.Sfirstname,search_key)||SqlMethods.Like(a.Slastname,search_key)||SqlMethods.Like(a.Scity,search_key)||SqlMethods.Like(a.Smob,search_key)||SqlMethods.Like(a.Sstate,search_key)
select a
);

// List<search> lst = op.ToList<search>();
if (op != null)
{
result.Add(item);
}
}


if (result.Count != 0)
{
dgv_searchreport.DataSource = result;
dgv_searchreport.DataBind();// data grid view
}

它不工作...给出 alllist 中的所有结果..//其中搜索模型类包含属性..

最佳答案

这是因为您正在比较 linq 查询的结果是否不为空,然后从 foreach 子句中添加变量。当 allproducts 中的任何单个项目匹配条件时,op 永远不会为空,然后整个集合将包含在结果中。您想要的可能如下:

var result = (from a in alllist
where a.Sfirstname.Contains(search_key)
|| a.Slastname.Contains(search_key)
|| a.Smob.Contains(search_key)
|| a.Scity.Contains(search_key)
|| a.Sstate.Contains(search_key)
select a).ToList();

这将选择所有符合条件的项目并将它们枚举到列表中。

关于c# - 在 c#back end 中使用 linq 在 asp.net 中搜索关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30139253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com