Creating A Sharepoint Subsite Using CSOM With C#

This tutorial will show you how to programmatically create a subsite in Sharepoint. This can be done a few different ways and if you have server access you may prefer to do this on the server side, but you can just as easily create one using the Client-Side Object Model.

You can do this using a standard C# console application. For this example I used Visual Studio 2013 with .NET 4.0. You will need to include 2 assemblies in order for the code to work.

using Microsoft.SharePoint.Client;
using Microsoft.SharePoint;

If this code throws an error then you will need to add the reference to your project. For me, I was not able to find Microsoft.Sharepoint but when I added the .client assembly it worked.

using (ClientContext ctx = new ClientContext("http://site.com"))
{
	WebCreationInformation wci = new WebCreationInformation();
	wci.Url = "mysite" // This url is relative to the url provided in the context
	wci.Title = "My Site";
	wci.Description = description;
	wci.UseSamePermissionsAsParentSite = true;
	wci.WebTemplate = "STS#0";
	wci.Language = 1033; 
	
	Web w = ctx.Site.RootWeb.Webs.Add(wci);
	ctx.ExecuteQuery();
}

Thats it! The code above is all you need to create a new subsite. If you make a mistake and want to change it, you can also do this quite easy using similar code. You can modify pretty much everything on a subsite, but the URL becomes read only so you cannot change this once it has been set.

using (var context = new ClientContext("http://site.com/subsite")
{
	//context.Credentials = credentials;
	var site = context.Web;
	context.Load(site);
	context.ExecuteQuery();
	site.Title = "New Title";
	site.Description = "New Description";
	site.Update();
	context.ExecuteQuery();
}

This is all you need to be able to add a subsite and to be able to edit it.

Related Articles

Related Questions

How can I securely mount an Anker power strip to a perforated PC stand?

I have a JWX Gaming Computer Tower Stand and an Anker 351 Power Strip (A9192). The strip is currently attached with the stand's straps,...

What’s the easiest way to type a bullet character regularly in Linux Mint?

I need to type the bullet character • frequently on Linux Mint with Cinnamon. I'm familiar with Linux and know that my Compose key...

Do I Need JavaScript or Node.js to Become a Backend Developer?

I want to become a backend developer and I'm currently learning Python. I'm planning to use FastAPI for building web APIs, but I'm unsure...

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Latest Tools

Erase Gemini Nano Banana Watermark

Below is a simple content eraser tool. It works very similar to the content aware fill tool that is used in Photoshop. You can...

Keep Your Screen Awake Tool

This simple online stay awake tool prevents your computer screen from going to sleep while you have this page open. It runs entirely in your...

Neural Network Simulation Tool

The Neural Network Visual Builder is an interactive, client-side tool designed to demystify deep learning. It allows users to drag-and-drop neural network layers to...

Ray Trace Simulator – Interactive Optical Ray Tracing Tool

This ray trace simulator lets you visualise how light rays move through an optical system in real time. You can trace beams as they...

Interactive CPU Architecture Simulator

This is an Interactive CPU Architecture Simulator that provides a hands-on, visual learning experience for understanding how a processor executes code. It models a...

AI Image Upscaler

Our AI Image Upscaler allows you to upload any image and instantly increase its resolution using advanced upscaling models. Choose between 2x, 3x or...

Latest Posts

Latest Questions