Latest Posts

Create Quick Launch Link in SharePoint using CSOM

The example in this topic show how to use CSOM to Create Quick Launch 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 quickLaunchCollection = 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();
  • quickLaunchCollection = clientcontext.Site.OpenWebById(clientcontext.Web.ParentWeb.Id).Navigation.QuickLaunch;
  •  
  • // Option 2: This will get quick launch collection from current site
  • quickLaunchCollection = clientcontext.Web.Navigation.QuickLaunch;
  • clientcontext.Load(clientcontext.Web);
  • clientcontext.Load(quickLaunchCollection);
  • clientcontext.ExecuteQuery();
  •  
  • NavigationNodeCreationInformation navigationNodeCreationInformation = new NavigationNodeCreationInformation();
  • navigationNodeCreationInformation.Title = "New navigation";
  • navigationNodeCreationInformation.Url = "New Navigation 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
  • navigationNodeCreationInformation.AsLastNode = true;
  •  
  • // Option 2: Using Previous node.
  • NavigationNode node = quickLaunchCollection.FirstOrDefault();
  • clientcontext.Load(node.Children);
  • clientcontext.ExecuteQuery();
  •  
  • // Here "Previous navigation" will act as a previous node and the new node will be created after that
  • NavigationNode prevnode = node.Children.Where(Node => Node.Title == "Previous navigation").FirstOrDefault();
  • navigationNodeCreationInformation.PreviousNode = prevnode;
  •  
  • //// Adds the new navigation node to the collection.
  • node.Children.Add(navigationNodeCreationInformation);
  •  
  • clientcontext.Load(quickLaunchCollection);
  • clientcontext.ExecuteQuery();
  • }

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

We value your Feedback:

Page URL:

Name:

Email:


Suggestion:

© 2024 Code SharePoint