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.PortalWebSiteMapNodeThe PortalWebSiteMapNode object that represents the Web site that contains the list of interest.
listName
Type: System.StringThe name of the list of interest.
query
Type: Microsoft.SharePoint.SPQueryThe SPQuery object to run against the list.
contextWeb
Type: Microsoft.SharePoint.SPWebThe 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;
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Data
Imports System.Web
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.Navigation
Imports Microsoft.SharePoint.Publishing
Imports Microsoft.SharePoint.Publishing.Navigation
Namespace Microsoft.SDK.SharePointServer.Samples
Friend 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 Shared Function GetCachedListItemCreatedDates(ByVal serverRelativeWebUrl As String, ByVal listName As String, ByVal query As SPQuery) As List(Of Date)
Dim createdDates As List(Of Date) = Nothing
' Get a reference to the current navigation provider
' (that is, the one that doesn't HTML-encode titles).
Dim portalProvider As PortalSiteMapProvider = PortalSiteMapProvider.CurrentNavSiteMapProviderNoEncode
' Look up the node for the given Web site URL.
Dim webNode As PortalWebSiteMapNode = TryCast(portalProvider.FindSiteMapNode(serverRelativeWebUrl), PortalWebSiteMapNode)
If webNode IsNot Nothing Then
' Retrieve nodes representing the list items returned from the
' given query, performed on the given list.
Dim listItemNodes As SiteMapNodeCollection = portalProvider.GetCachedListItemsByQuery(webNode, listName, query, SPContext.Current.Web)
createdDates = New List(Of Date)(listItemNodes.Count)
For Each listItemNode As PortalListItemSiteMapNode In listItemNodes
' Use the indexer to access a particular field, and add the value to
' the list.
createdDates.Add(CDate(listItemNode(SPBuiltInFieldId.Created)))
Next listItemNode
End If
' Return the list of titles.
Return createdDates
End Function
End Class
End Namespace