Share via


PortalSiteMapProvider.GetCachedListItemsByQuery Method

Gets a collection of PortalListItemSiteMapNode objects that represent the list items returned by a specified query.

Namespace:  Microsoft.SharePoint.Publishing.Navigation
Assembly:  Microsoft.SharePoint.Publishing (in Microsoft.SharePoint.Publishing.dll)

Syntax

'Declaration
Public Function GetCachedListItemsByQuery ( _
    webNode As PortalWebSiteMapNode, _
    listName As String, _
    query As SPQuery, _
    contextWeb As SPWeb _
) As SiteMapNodeCollection
'Usage
Dim instance As PortalSiteMapProvider
Dim webNode As PortalWebSiteMapNode
Dim listName As String
Dim query As SPQuery
Dim contextWeb As SPWeb
Dim returnValue As SiteMapNodeCollection

returnValue = instance.GetCachedListItemsByQuery(webNode, _
    listName, query, contextWeb)
public SiteMapNodeCollection GetCachedListItemsByQuery(
    PortalWebSiteMapNode webNode,
    string listName,
    SPQuery query,
    SPWeb contextWeb
)

Parameters

  • contextWeb
    Type: Microsoft.SharePoint.SPWeb
    SPWeb object that exists within the context of a particular user. For example, this parameter can specify the SPContext.Current.Web object for the current user.

Return Value

Type: System.Web.SiteMapNodeCollection
A SiteMapNodeCollection object that contains PortalListItemSiteMapNode objects that represent the items returned by the query.

Remarks

The contextWeb parameter is used to determine the correct list items to return.

Examples

The following example references the following assemblies:

  • System.dll

  • System.Data.dll

  • System.Xml.dll

  • System.Web.dll

  • System.Configuration.dll

  • Microsoft.SharePoint.dll

  • Microsoft.SharePoint.Library.dll

  • Microsoft.SharePoint.Publishing.dll

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Web;

using Microsoft.SharePoint;
using Microsoft.SharePoint.Navigation;

using Microsoft.SharePoint.Publishing;
using Microsoft.SharePoint.Publishing.Navigation;


namespace Microsoft.SDK.SharePointServer.Samples

{

    class GetCachedListItemSample

    {

        // Get a list of the created dates for the list items returned by the 
        // given query when run against the cache.
        // Note: You must call this method from within an
        // HttpContext object (that is, HttpContext.Current must return a
        // valid HttpContext)

        public static List<DateTime>GetCachedListItemCreatedDates(
            string serverRelativeWebUrl, string listName, SPQuery query)

        {

            List<DateTime> createdDates = null;

             // Get a reference to the current navigation provider 
            // (that is, the one that doesn't HTML-encode titles).

            PortalSiteMapProvider portalProvider = 
              PortalSiteMapProvider.CurrentNavSiteMapProviderNoEncode;

            // Look up the node for the given Web site URL.

            PortalWebSiteMapNode webNode = 

                portalProvider.FindSiteMapNode(serverRelativeWebUrl) as PortalWebSiteMapNode;

            if (webNode != null)

            {

                // Retrieve nodes representing the list items returned from the 
                // given query, performed on the given list.

                SiteMapNodeCollection listItemNodes = portalProvider.GetCachedListItemsByQuery(

                        webNode, listName, query, SPContext.Current.Web);

                createdDates = new List<DateTime>(listItemNodes.Count);
                foreach (PortalListItemSiteMapNode listItemNode in listItemNodes)

                {

                    // Use the indexer to access a particular field, and add the value to
                    // the list.

                    createdDates.Add((DateTime)listItemNode[SPBuiltInFieldId.Created]);

                }

            }

            // Return the list of titles.

            return createdDates;

        }
    }
}

See Also

Reference

PortalSiteMapProvider Class

PortalSiteMapProvider Members

Microsoft.SharePoint.Publishing.Navigation Namespace

PortalSiteMapProvider