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.