We started this chapter talking about the three forces at work within a CMS placeholder. We covered the Placeholder object and the PlaceholderDefinition quite extensively. Unfortunately, there are limits on what can be done on the physical side of things in CMS today. We still need a "hands-on" developer to create that initial template file for CMS to do its work. Programmatically manipulating the physical ASPX template file and its placeholder controls is very limited. Only in-memory changes can be made, and they cannot be saved or committed.
We did discuss the various controls available to the .NET developer, and then we delved into the various structures that CMS has borrowed from .NET to make placeholders work.
We created a new Placeholder and a new PlaceholderDefinition and then deleted them. PlaceholderDefinitions can be created and kept, but Placeholder objects are for in-memory use only. We then saw several examples of the various read-only and read/write members of both Placeholder and PlaceholderDefinition objects.
We touched briefly on the Definition and Posting child objects of the placeholder and introduced the concept of creating your very own placeholder types.
Next we explore all the capabilities of a method that we have already used in many of our previous examples: the Context Searches method. It is a very powerful, if potentially resource-intensive, tool.