通过SPListCollection查询

时间:2016-09-09 14:33:45

标签: asp.net sharepoint

我想知道是否可以使用SPListCollection查询SPQuery对象,与SPListItemCollection一样。想象一下,例如,您想要找出给定Author创建的列表或给定用户可见的列表。

1 个答案:

答案 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搜索。