Monday, June 06, 2011

Accessing SharePoint Publishing site Navigation (Global Navigation bar) using C#

Accessing SharePoint Publishing site Navigation (Global Navigation bar) using C#:

With the help of PublishingWeb class (Microsoft.SharePoint.Publishing), we can access different components of Published Web site like Pages document library, Published site navigation bar and etc.
In this example we will access different components of Published site:

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Server;
using Microsoft.Office.Server.Administration;
using Microsoft.Office.Server.UserProfiles;
using Microsoft.SharePoint;
using System.Web;
using Microsoft.SharePoint.Navigation;
using Microsoft.SharePoint.Publishing;

namespace GetPublishedData
class Program
static void Main(string[] args)

using (SPSite site = new SPSite(""))
using (SPWeb web = site.RootWeb)
PublishingWeb publishingWeb = PublishingWeb.GetPublishingWeb(web);

//Display Global Navigation menu items(Home > Site Settings > Modify Navigation)
foreach (Microsoft.SharePoint.Navigation.SPNavigationNode node in publishingWeb.GlobalNavigationNodes)

Console.WriteLine(node.Title + " " + node.Url);

// Get the Id for the Pages list.
Guid pagesListId = publishingWeb.PagesListId;
SPList pagesList = publishingWeb.PagesList;

// The PublishingWeb.PagesListName is equivalent
// to PublishingWeb.PagesList.RootFolder.Url.
string pagesListUrl = publishingWeb.PagesListName;


Reference: MSDN


sbobet said...

thanks ysboou for arsbochive

About Me

My photo
Based in Bangalore, INDIA, Amit is a MCC. He has an MCA from the U.P.T.U., INDIA and holds Microsoft certifications including SharePoint 2007/2010. He is an contributor to MSDN and Amit have experience in SharePoint,ASP.Net with C#, MVC, Sitecore, Classic ASP, VB,Macros,HTML,JavaScript,JSON,BootStrap and AngularJS.