我试图在Pages和Document库中搜索一次。 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);
}
我需要搜索每个子网站及其各自的文档和页面库。
任何想法??
答案 0 :(得分:1)
请将此用于文档库: -
siteDataQuery.Lists ="< listsLists ServerTemplate=\"101\" />";
的SharePoint Server模板ID
页面库=&gt; 850
和
文档库=&gt; 101
尝试使用此siteDataQuery.Lists
,如下所示
siteDataQuery.Lists = "<Lists MaxListLimit=\"2\">" +
"<List ID="+web.Lists.TryGetList("firstlistname").ID+" />" +
"<List ID="+web.Lists.TryGetList("secondlistname").ID+" />" +
"</Lists>";
希望这会有所帮助