Custom Publishing Page with WebPartZones - Edit webpart toolbox not showing
-
22-10-2019 - |
Question
I have a custom publishing page with 6 webpart zones on it so I can add webparts to the page.
I can click on the edit page button, however when I try and edit individual webparts the page reverts to display mode, and doesn't show the tool panel.
Am I missing the container or something?
My code is as below:
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="PublishingWebControls" Namespace="Microsoft.SharePoint.Publishing.WebControls" Assembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="PublishingNavigation" Namespace="Microsoft.SharePoint.Publishing.Navigation" Assembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Page Language="C#" MasterPageFile="~masterurl/default.master" %>
<asp:Content ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">
<SharePoint:ScriptLink name="<% $SPUrl:~SiteCollection/_layouts/jQuery/js/jquery-1.6.2.min.js%>" runat="server"/>
<SharePoint:ScriptLink name="<% $SPUrl:~SiteCollection/_layouts/jQuery/js/jquery-ui-1.8.16.custom.min.js%>" runat="server"/>
<SharePoint:CssRegistration name="<% $SPUrl:~SiteCollection/_layouts/SUPortal/Layout.css%>" runat="server"/>
<SharePoint:CssRegistration name="<% $SPUrl:~SiteCollection/_layouts/SUPortal/Theme.css%>" runat="server"/>
<SharePoint:CssRegistration name="<% $SPUrl:~SiteCollection/_layouts/jQuery/css/Aristo/jquery-ui-1.8.7.custom.css%>" runat="server"/>
</asp:Content>
<asp:Content ContentPlaceHolderID="PlaceHolderPageTitle" runat="server">
<SharePoint:FieldValue ID="PageTitle" FieldName="Title" runat="server" />
</asp:Content>
<asp:Content ContentPlaceHolderId="PlaceHolderLeftActions" runat="server"></asp:Content>
<asp:Content ContentPlaceHolderId="PlaceHolderPageDescription" runat="server">
<SharePoint:ProjectProperty Property="Description" runat="server"/>
</asp:Content>
<asp:Content ContentPlaceHolderId="PlaceHolderBodyRightMargin" runat="server">
<div height="100%" class="ms-pagemargin"><img src="/_layouts/images/blank.gif" width="10" height="1" alt="" /></div>
</asp:Content>
<asp:Content ContentPlaceHolderId="PlaceHolderPageImage" runat="server"></asp:Content>
<asp:Content ContentPlaceHolderId="PlaceHolderNavSpacer" runat="server"></asp:Content>
<asp:Content ContentPlaceHolderId="PlaceHolderLeftNavBar" runat="server"></asp:Content>
<asp:Content ContentPlaceHolderID="PlaceHolderMain" runat="server">
<div id="main">
<div id="colLeft">
<div id="zone1" class="topRow">
<WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="Zone1" Title="Zone 1">
<ZoneTemplate></ZoneTemplate>
</WebPartPages:WebPartZone>
</div>
<div id="zone4">
<WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="Zone4" Title="Zone 4">
<ZoneTemplate></ZoneTemplate>
</WebPartPages:WebPartZone>
</div>
</div>
<div id="colRight">
<div id="zone3" class="topRow">
<WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="Zone3" Title="Zone 3">
<ZoneTemplate></ZoneTemplate>
</WebPartPages:WebPartZone>
</div>
<div id="zone6">
<WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="Zone6" Title="Zone 6">
<ZoneTemplate></ZoneTemplate>
</WebPartPages:WebPartZone>
</div>
</div>
<div id="colMiddle">
<div id="colMiddleContainer">
<div id="zone2" class="topRow">
<WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="Zone2" Title="Zone 2">
<ZoneTemplate></ZoneTemplate>
</WebPartPages:WebPartZone>
</div>
<div id="zone5">
<WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="Zone5" Title="Zone 5">
<ZoneTemplate></ZoneTemplate>
</WebPartPages:WebPartZone>
</div>
</div>
</div>
</div>
<script type="text/javascript" language="javascript">if(typeof(MSOLayout_MakeInvisibleIfEmpty) == "function") {MSOLayout_MakeInvisibleIfEmpty();}</script>
</asp:Content>
Solution
Have you tried changing your Page directive to the following:
<%@ Page language="C#" Inherits="Microsoft.SharePoint.Publishing.PublishingLayoutPage,Microsoft.SharePoint.Publishing,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" %>
Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange