C# 使用StringBuilder创建动态搜索查询
我有一个搜索表单,它的控件中有数据,如复选框列表(多选)、文本框 我需要搜索SharePoint列表中的值,并在网格视图中显示列表记录 请建议我如何编写动态搜索查询。。C# 使用StringBuilder创建动态搜索查询,c#,sharepoint,lambda,caml,C#,Sharepoint,Lambda,Caml,我有一个搜索表单,它的控件中有数据,如复选框列表(多选)、文本框 我需要搜索SharePoint列表中的值,并在网格视图中显示列表记录 请建议我如何编写动态搜索查询。。 例如:如果在一个文本框中没有选择值。。我不需要将其包括在查询中。您可以运行SPMetal生成静态对象,以使用LINQ查询列表 或者只是使用一个古老而有效的CAML查询 SPQuery oQuery = new SPQuery(); oQuery.Query = "<Where><Eq><Fiel
例如:如果在一个文本框中没有选择值。。我不需要将其包括在查询中。您可以运行SPMetal生成静态对象,以使用LINQ查询列表 或者只是使用一个古老而有效的CAML查询
SPQuery oQuery = new SPQuery();
oQuery.Query = "<Where><Eq><FieldRef Name='YourField'/>" +
"<Value Type='Text'>Insert value to search here</Value></Eq></Where>";
SPListItemCollection collListItems = oList.GetItems(oQuery);
SPQuery oQuery=new SPQuery();
oQuery.Query=“”+
“在此处插入要搜索的值”;
SPListItemCollection collistItems=oList.GetItems(oQuery);
在直接的linq查询中
var results = MySPList.Items.Cast<SPListItem>()
.Where(SPItem => SPItem["YourField"] == "Your query");
var results=MySPList.Items.Cast()
.Where(SPItem=>SPItem[“YourField”]==“您的查询”);
但是,如果您计划经常使用linq查询,那么运行spmetal是一种方法,因为在SPList上使用直接linq查询可能会导致严重的性能问题。使用StringBuilder动态生成查询
if (!(String.IsNullOrEmpty(implanter)))
{
query[querycount] = "<In><FieldRef Name='Implanter' /><Values>" + implanter + "</Value></In>";
querycount++;
}
if(!(String.IsNullOrEmpty(implanter)))
{
查询[查询计数]=“”+植入器+“”;
querycount++;
}
使用Lambda表达式建议上述问题的解决方案