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
- webNode
Type: Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode
PortalWebSiteMapNode object that represents the Web site that contains the list of interest.
- listName
Type: System.String
Name of the list of interest.
- query
Type: Microsoft.SharePoint.SPQuery
SPQuery object to run against the list.
- 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;
}
}
}