My last project I worked on upgrading a MOSS 2007 site to SharePoint Server 2010 and while the vast majority of the site works as expected there were certain occasions when I click on an item in a list I got the standard SharePoint error screen saying an error occurred. As per normal this is not helpful in the slightest, however when I checked the log I noticed the error below.
System.Web.HttpException: Cannot find ContentPlaceHolder ‘PlaceHolderUtilityContent’ in the master page ‘~masterurl/default.master’, verify content control’s ContentPlaceHolderID attribute in the content page. at System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection) at System.Web.UI.Page.get_Master() at System.Web.UI.Page.ApplyMasterPage() at System.Web.UI.Page.PerformPreInit() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Post upgrade I was still running in the SharePoint 2007 UI using some custom masterpages so I just figured another Content Placeholder was required in SharePoint 2010 so I added the line below to each of my custom masterpages and it started working.
<asp:ContentPlaceHolder id="PlaceHolderUtilityContent" runat="server" />