无法使用CAML从SharePoint 2013中的所有任务列表中获取任务

时间:2014-01-29 06:20:31

标签: sharepoint sharepoint-2013 caml

以下是我的查询: -

SPSiteDataQuery oQuery = new SPSiteDataQuery();

oQuery.Lists = "<Lists ServerTemplate=\"171\" />";
oQuery.Query = string.Concat("<Where>",
                               "<Eq>",
                                 "<FieldRef Name='Status' />",
                                 "<Value Type='Choice'>Not Started</Value>",
                               "</Eq>",  
                             "</Where>");
oQuery.ViewFields = "<FieldRef Name=\"Title\" />" +  /* Title is LastName column </Today>*/
                      "<FieldRef Name=\"StartDate\"/>" +
                      "<FieldRef Name=\"DueDate\"/>" +
                      "<FieldRef Name=\"LinkTitle\"/>" +
                      "<FieldRef Name=\"Body\"/>" +
                      "<FieldRef Name=\"NewStarter\"/>" +
                      "<FieldRef Name=\"AssignedTo\"/>";
oQuery.Webs = "<Webs Scope=\"Recursive\" />";

我的SharePoint网站中有6个任务列表。我可以在6个任务列表中看到状态为“未启动”的任务。但是,在Visual Studio 2012中,当我使用CAML使用ID为171查询任务列表时,我看不到任何任务。我在查询中做错了吗?

3 个答案:

答案 0 :(得分:2)

我有同样的问题,请检查您正在提供哪个网站。调试应用程序并检查提取的项目。

在调试/添加监视期间,在visual studio中使用site.url属性。

答案 1 :(得分:0)

您可能使用了错误的ServerTemplate。根据{{​​3}} 107,任务的模板ID。 171是TasksWithTimelineAndHierarchy

答案 2 :(得分:0)

另外:SPSiteDataQuery在AssignedTo字段中不支持UserMulti。

请参阅:https://support.microsoft.com/en-us/kb/2703054