Recent Articles

Stay Updated!!

Email Address

Create Top Navigation Link in SharePoint using CSOM

The example in this topic show how to use CSOM to Create Top Navigation Link in SharePoint
  • Please follow the steps below to execute the code in Visual Studio using Console Application. You can customize the solution according to your requirements.
  • Check the article to Connect to SharePoint context using CSOM. This is very helpful if you are doing any programming in CSOM.
  • Don't forget to use the assemblies as mentioned in the code.

How to run CSOM code in SharePoint?

  • Open your Visual Studio.
  • From the template, select Console Application as shown in the screenshot
  • Select the .Net Framework version from the top drop-down as well. You can also change the .Net Framework after creating the solution.
  • Enter Project Name, Location and Solution Name and click on OK.
  • create console application using Visual Studio
  • Now your program.cs file will open. Copy the code in main function.
  • Once you are done with your code, just hit F5 or Run the application.

  • using Microsoft.SharePoint.Client;
  • using System.Linq;
  • using (ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection"))
  • {
  • NavigationNodeCollection topNavigationCollection = null;
  • // Option 1: This will get quick launch collection from parent web
  • // This option will work only if the method is running from sub-site otherwise parent ID will be Null
  • clientcontext.Load(clientcontext.Web.ParentWeb, p => p.Id);
  • clientcontext.ExecuteQuery();
  • topNavigationCollection = clientcontext.Site.OpenWebById(clientcontext.Web.ParentWeb.Id).Navigation.TopNavigationBar;
  • // Option 2: This will get quick launch collection from current site
  • topNavigationCollection = clientcontext.Web.Navigation.TopNavigationBar;
  • clientcontext.Load(clientcontext.Web);
  • clientcontext.ExecuteQuery();
  • NavigationNodeCreationInformation nodeCreation = new NavigationNodeCreationInformation();
  • nodeCreation.Title = "Node name";
  • nodeCreation.Url = "Node URL";
  • // Option 1: This will add the new node at the last position in Node collection
  • // If this is not defined (not set to true), the node will be created at the first position else the node will be created at the last position
  • nodeCreation.AsLastNode = true;
  • // Option 2: Using Previous node.
  • clientcontext.Load(topNavigationCollection);
  • clientcontext.ExecuteQuery();
  • NavigationNode newNode = topNavigationCollection.FirstOrDefault();
  • clientcontext.Load(newNode);
  • clientcontext.ExecuteQuery();
  • // Here "Previous navigation" will act as a previous node and the new node will be created after that
  • NavigationNode prevnode = topNavigationCollection.Where(Node => Node.Title == "Node Title/Name").FirstOrDefault();
  • nodeCreation.PreviousNode = prevnode;
  • // Adds the new navigation node to the collection
  • topNavigationCollection.Add(nodeCreation);
  • clientcontext.Load(topNavigationCollection);
  • clientcontext.ExecuteQuery();
  • }

Thank you for reading this article. This code was tested in SharePoint 2013

We value your Feedback:

Page URL:







© 2020 Code SharePoint