0

我试图在页面和文档库中搜索一次。CAML 中是否有适用于文档库和页面库的模板。

我只有这个页面库,但它不搜索文档库

siteDataQuery.Lists ="<listsLists ServerTemplate=\"850\" />"; 

完整代码

 sing (SPWeb web = new SPSite(SPContext.Current.Site.RootWeb.Url).OpenWeb())
                {

                    siteDataQuery.ViewFields = "<FieldRef  Nullable=\"TRUE\" Name=\"FileRef\"/><FieldRef Name=\"Title\"/>";
                    siteDataQuery.Lists = "<Lists ServerTemplate=\"101\" />";
                    siteDataQuery.RowLimit = 500;
                    siteDataQuery.Webs = "<Webs Scope=\"Recursive\"/>";

                    siteDataQuery.Query = "<Where><And><Eq><FieldRef Name='ContentType' /><Value Type='Computed'Page-Archive Item</Value></Eq><Eq><FieldRef Name='Metadata' LookupId='True' /><Value Type='Integer'>447</Value></Eq></And></Where>"

                    System.Data.DataTable dataTable =  web.GetSiteData(siteDataQuery);
                }

我需要搜索每个子站点及其各自的文档和页面库。

有任何想法吗??

4

1 回答 1

1

请将此用于文档库:-

siteDataQuery.Lists ="< listsLists ServerTemplate=\"101\" />";

SharePoint Server 模板 ID

页面库 => 850

并且对于

文档库 => 101

尝试siteDataQuery.Lists如下使用它

siteDataQuery.Lists = "<Lists MaxListLimit=\"2\">" +
              "<List ID="+web.Lists.TryGetList("firstlistname").ID+" />" +
              "<List ID="+web.Lists.TryGetList("secondlistname").ID+" />" +             
           "</Lists>";

希望这会有所帮助

于 2016-04-25T18:33:44.397 回答