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.
