SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am using SharePoint 2013. Is there any way I can programmatically create a page using ONLY th Client Object Model? Also notice that the page should be editable for further use.

share|improve this question

Use PublishingWeb.AddPublishingPage method to create a new PublishingPage object in the PublishingWeb from Microsoft.SharePoint.Client.Publishing namespace in SharePoint 2013 CSOM.


public static PublishingPage CreatePublishingPage(ClientContext ctx, string pageName, string pageLayoutName)
    var pubWeb = PublishingWeb.GetPublishingWeb(ctx, ctx.Web);
    var pageInfo = new PublishingPageInformation
        Name = pageName,
        PageLayoutListItem = GetPageLayoutByName(ctx, pageLayoutName)
    var publishingPage = pubWeb.AddPublishingPage(pageInfo);
    return publishingPage;

public static ListItem GetPageLayoutByName(ClientContext ctx, string name)
    var list = ctx.Site.GetCatalog((int)ListTemplateType.MasterPageCatalog);
    var qry = new CamlQuery
        ViewXml = string.Format("<View><Query><Where><Eq><FieldRef Name='FileLeafRef' /><Value Type='Text'>{0}</Value></Eq></Where></Query></View>",name)
    var result = list.GetItems(qry);
    var item = result.FirstOrDefault();
    return item;


using (var ctx = new ClientContext(webUri))
    var page = CreatePublishingPage(ctx, "Welcome.aspx", "BlankWebPartPage.aspx");
share|improve this answer

This seems to be the answer, but I haven't tested it!

share|improve this answer

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

While this may theoretically answer the question, we prefer inclusion of the essential parts of the answer here, and to provide the link for reference. See answer for general guidelines. – SPDoctor Sep 19 '13 at 8:00
While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. – Waqas Sarwar MCSE May 10 '15 at 20:32

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.