In most of the CMS software I've worked with there is a simple method for identifying user-editable parts of a theme. In Concrete5, for example you can add something like:

   $a = new Area('Main Content');

in any old <div> and simply change 'Main Content' to whatever name is appropriate for that area. Glancing over the default Master Pages (as well as some others I've downloaded) that snippet seems to be some variant of asp:ContentPlaceHolder in SharePoint's master pages, but there's one thing I can't seem to find documentation on...

Aside from the 30 or so "required" placeholders can "custom" placeholders be created to add additional user-editable areas to a theme? In other words, can I create a layout with, say, Twitter Bootstrap and then use asp:ContentPlaceHolder to define the editable areas in the same way that I can use the above code snippet to "concrete-ize" a theme for C5? In addition to the "main" content area can I have other custom content areas?

2 Answers 2


What do you mean as "user editable"? The master page & content placeholders concept is not related in any way to the end user capabilities to edit page - it's the way to centralize common page elements in the ASP.NET and is useful for page designer or programmer and not to end user. If you need an "editable" page you need to look at web part page concept - it allows to define zones in the page for users to place webparts including Content Editor Web part which allows to create a rich text content on the page.

UPDATE: The content placeholders and the webpart pages infrastructure is not related to each other at all. Master pages (http://msdn.microsoft.com/en-us/library/wtxbf3hh(v=vs.90).aspx) is the ASP.NET concept that allows page developers to extract common layout and logic from multiple pages to avoid copy-paste etc. It not affects page "editableness". It simply save developers time and efforts. The webpart pages concept is one of the central concepts in the SharePoint (MS calls it "composite applications") - it allows end users to personalize page content by adding, editing and removing modules on the page. These modules is called portlets in other portal software. And in every webpart page there's one or more web part zones - they are the sections in the page there user can add a webpart.

So the master page with placeholders is a "template" and the webpart page with the webpart zones is a "template too but only the latter is the template to define editable page layout.

  • OK, semantics, but yes I need a zone in which SharePoint users with adequate privileges may place a web part. I need several of them, actually. Commented Feb 28, 2012 at 15:24
  • So you need to create a webpart page, don't you? Do I understand right your requirements? Then you need to define several webpart zones in that page. See the example underthehood.ironworks.com/2010/09/…
    – Alex Boev
    Commented Feb 28, 2012 at 15:33
  • Yes! Assuming that works as described that's exactly what I need. Out of curiosity, is the content placeholder concept even related or did I seriously mis-interpret code here? Commented Feb 28, 2012 at 15:49
  • See the update.
    – Alex Boev
    Commented Feb 28, 2012 at 16:34
  • Sorry for the delay in acceptance, I prefer to test things before accepting and I just got in to work to try this out. Works beautifully, thanks! Commented Feb 28, 2012 at 18:02

Yes, you can add as many asp:ContentPlaceHolder's as you want in your master. Just make sure you add the same placeholder to your Page Layout as well, like this:

<asp:content ContentPlaceHolderID="<your custom name>" runat="server" />

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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