This topic has not yet been rated - Rate this topic

SPNavigationProvider Class

Provides a base class for SharePoint Foundation site-map providers that is specialized for SharePoint site navigation.

System.Object
  System.Configuration.Provider.ProviderBase
    System.Web.SiteMapProvider
      Microsoft.SharePoint.Navigation.SPNavigationProvider

Namespace:  Microsoft.SharePoint.Navigation
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Available in Sandboxed Solutions: No
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class SPNavigationProvider : SiteMapProvider

Derives from the ASP.NET SiteMapProvider type.

The SPNavigationProvider class allows you to write custom controls to navigate a site. The following sample code accesses the root node for the Top Link Bar and Quick Launch. From that point, a user can navigate both node hierarchies.

<% @Page language="C#" Debug=true%>
<%@ Register Tagprefix="SharePoint" 
      Namespace="Microsoft.SharePoint" 
      Assembly="Microsoft.Sharepoint" %>
<%@ Register Tagprefix="SharePointNavigation"
      Namespace="Microsoft.SharePoint.Navigation"
      Assembly="Microsoft.Sharepoint" %>
<%@ Register Tagprefix="SharePointWebControls"
      Namespace="Microsoft.SharePoint.WebControls"
      Assembly="Microsoft.Sharepoint" %>
<HTML>
      <BODY>
            Tests the SPNavigationProvider properties
            <BR>
            <%

SPWeb web = SPControl.GetContextWeb(Context);

SPNavigationProvider prov = (SPNavigationProvider)
      SiteMap.Providers["SPNavigationProvider"];

Response.Write ("<BR><DIV ID =\"quicklaunch\">" +
       prov.FindSiteMapNode(Context).Title + "</DIV>");
Response.Write("<BR><DIV ID=\"toplink\">" +
      prov.FindSiteMapNode("sid:1002") + "</DIV>");

%>
     </BODY>
</HTML>
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ