我想知道是否可以使用SPListCollection
查询SPQuery
对象,与SPListItemCollection
一样。想象一下,例如,您想要找出给定Author
创建的列表或给定用户可见的列表。
答案 0 :(得分:1)
不,这对SPQuery来说是不可能的!但我更希望你使用KeywordQuery:
using (SPSite siteCollection = new SPSite("http://server/sitecollection"))
{
KeywordQuery keywordQuery = new KeywordQuery(siteCollection);
keywordQuery.QueryText = "SharePoint";
SearchExecutor searchExecutor = new SearchExecutor();
ResultTableCollection resultTableCollection = searchExecutor.ExecuteQuery(keywordQuery);
var resultTables = resultTableCollection.Filter("TableType", KnownTableTypes.RelevantResults);
var resultTable = resultTables.FirstOrDefault();
DataTable dataTable = resultTable.Table;
}
在Keywordquery中,您可以使用例如contentclass STSList来仅检索列表。在这种情况下,当只使用contentclass:“STSList”时,您将获得执行者具有权限的所有列表。您可以通过添加其他查询参数来缩小范围。您正在寻找SharePoint搜索。