Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用任意字符串列表搜索关键字匹配的列表_C#_Asp.net_Sharepoint 2010_Caml - Fatal编程技术网

C# 使用任意字符串列表搜索关键字匹配的列表

C# 使用任意字符串列表搜索关键字匹配的列表,c#,asp.net,sharepoint-2010,caml,C#,Asp.net,Sharepoint 2010,Caml,我有一个任意的字符串列表,我想用它来查询我的sharepoint列表。如果列表项“title”中出现任何字符串,我希望返回该结果。现在,我知道如何做到这一点的唯一方法是在我的caml查询中创建一组节点,但是有没有一种方法可以使我不必为列表中的每个字符串动态生成OR节点?类似于此: <Contains> <FieldRef Name="Title" /> <Value type="text"> Value1</Value> (OR) <Valu

我有一个任意的字符串列表,我想用它来查询我的sharepoint列表。如果列表项“title”中出现任何字符串,我希望返回该结果。现在,我知道如何做到这一点的唯一方法是在我的caml查询中创建一组
节点,但是有没有一种方法可以使我不必为列表中的每个字符串动态生成OR节点?类似于此:

<Contains>
<FieldRef Name="Title" />
<Value type="text"> Value1</Value> (OR)
<Value type="text"> Value2</Value> (OR)
<Value type="text"> Value3</Value>
</Contains>

价值1(或)
价值2(或)
价值3

LINQ到SharePoint是您的最佳选择。在SharePoint 2010中,您不需要通过使用来担心底层CAML。您的LINQ查询如下所示:

 var results =  from r in datacontext.List 
    where r.title.Contains(Value1) OR r.title.Contains(Value2)
我必须编写代码在CAML中生成动态OR节点,以便在SharePoint 2007/WSS3中执行相同的操作。不过,使用它使工作更容易