Errore nel deploy di un Page Layout di SharePoint
Se dopo aver deployato un Page Layout tramite una feature in SharePoint 2007 (WSS3 - MOSS), in fase di creazione di una pagina ottieni un errore simile al seguente:
e guardando il Page Layout con SharePoint Designer 2007, si nota che è stato aggiunto del codice simile a questo:
sei incappato in una delle tante stranezze di SharePoint.
Praticamente l'errore è dovuto al seguente pezzo di codice:
nel senso che deve essere sempre presente e soprattutto deve essere scritto esattamente così ovvero con le esatte maiuscole e minuscole. Se, semplicemente scrivo, asp:content in minuscolo ecco riapparire l'errore.
Un altra causa dell'errore potrebbe essere dovuta a una inesattezza nell'attributo PublishingAssociatedContentType nei file della feature.
Per far rifunzionare il tutto correggi il page layout, disattiva la feature, cancella il page layout da sharepoint e riattiva la feature.
Lo stesso errore capita anche con SharePoint 2013 ed è il seguente:
Parser Error Message: Only Content controls are allowed directly in a content page that contains Content controls.
Source Error:
Line 50: </div>
Line 51: </asp:content>
Line 52: <html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"><head>
Line 53: <!--[if gte mso 9]><xml>
Line 54: <mso:CustomDocumentProperties>
Source File: /_catalogs/masterpage/SgartItCorsoFormazione.aspx Line: 52
XML
</asp:content>
<html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"><head>
<!--[if gte mso 9]><xml>
<mso:CustomDocumentProperties>
e guardando il Page Layout con SharePoint Designer 2007, si nota che è stato aggiunto del codice simile a questo:
XML
</asp:content>
<html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"><head>
<META name="WebPartPageExpansion" content="full">
<!--[if gte mso 9]><xml>
<mso:CustomDocumentProperties>
<mso:PublishingPreviewImage msdt:dt="string">/sites/test/_catalogs/masterpage/en-US/Preview Images/SgartPageWelcomeLinks.png, /sites/test/_catalogs/masterpage/en-US/Preview Images/SgartPage.png</mso:PublishingPreviewImage>
<mso:ContentType msdt:dt="string">Page Layout</mso:ContentType>
<mso:MasterPageDescription msdt:dt="string">Sgart page layout example</mso:MasterPageDescription>
<mso:PublishingAssociatedContentType msdt:dt="string">;#Sgart Page CT;#0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF3900580FEFE87BA243ED974E43E7A095ECAE;#</mso:PublishingAssociatedContentType>
</mso:CustomDocumentProperties>
</xml><![endif]-->
<title>Sgart Page Layout</title></head>
sei incappato in una delle tante stranezze di SharePoint.
Praticamente l'errore è dovuto al seguente pezzo di codice:
XML
<asp:Content ContentPlaceholderID="PlaceHolderPageTitle" runat="server">
<SharePointWebControls:FieldValue id="PageTitle" FieldName="Title" runat="server"/>
</asp:Content>
Un altra causa dell'errore potrebbe essere dovuta a una inesattezza nell'attributo PublishingAssociatedContentType nei file della feature.
Per far rifunzionare il tutto correggi il page layout, disattiva la feature, cancella il page layout da sharepoint e riattiva la feature.
Lo stesso errore capita anche con SharePoint 2013 ed è il seguente:
Parser Error Message: Only Content controls are allowed directly in a content page that contains Content controls.
Source Error:
Line 50: </div>
Line 51: </asp:content>
Line 52: <html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"><head>
Line 53: <!--[if gte mso 9]><xml>
Line 54: <mso:CustomDocumentProperties>
Source File: /_catalogs/masterpage/SgartItCorsoFormazione.aspx Line: 52