开发者

SharePoint EditModePanel displaying content at all times

Very simply I have some Javascript I only want to load in display mode, because the click event interferes with clicking into content editor web parts. Currently, the script loads in both display and edit mode with the following tag:

<PublishingWebControls:EditModePanel runat=server PageDisplayMode="Display">
    <script type="text/javascript" src="../_scripts/metroUI.js"></script>
</PublishingWebControls:EditModePanel>

And here are my namespaces:

<%@ Import Namespace="Microsoft.SharePoint" %> 
<%@ Register Tagprefix="SharePointWebControls" namespace="Microsoft.SharePoint.WebControls" assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.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="SharePointPortalControls" Namespace="Microsoft.SharePoint.Portal.WebControls" Assembly="Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="cmsc" namespace="Microsoft.SharePoint.Publishing.WebControls" assembly="Microsoft.SharePoint.Publishing, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="WpNs1" Namespace="Microsoft.SharePoint.Portal.WebControls" Assembly="Microsoft.Office.Server.Search, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="WebControls" namespace="Microsoft.SharePoint.Publishing.WebControls" assembly="Microsoft.SharePoint.Publishing, 开发者_开发百科Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Taxonomy" Namespace="Microsoft.SharePoint.Taxonomy" Assembly="Microsoft.SharePoint.Taxonomy, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 

What am I missing?

EDIT: Also, if I switch the page to PageDisplayMode="Edit", the script doesn't load in either place.


I've put what i had and which works for me. The only thing i can notice of the top of my head is that you've got runat=server rather than runat="server"

I'm afraid i don't know any more than that.

<SharePointWebControls:UIVersionedContent UIVersion="4" runat="server">
    <ContentTemplate>
        <SharePointWebControls:CssRegistration name="<% $SPUrl:~sitecollection/Style Library/~language/Core Styles/page-layouts-21.css %>" runat="server"/>
        <PublishingWebControls:EditModePanel runat="server">
            <!-- Styles for edit mode only-->
            <SharePointWebControls:CssRegistration name="<% $SPUrl:~sitecollection/Style Library/~language/Core Styles/edit-mode-21.css %>"
                After="<% $SPUrl:~sitecollection/Style Library/~language/Core Styles/page-layouts-21.css %>" runat="server"/>
        </PublishingWebControls:EditModePanel>
        <!-- For Javascript that can not be used in publishing mode due to issue with Array.prototype breaking sharepoing. -->
        <PublishingWebControls:EditModePanel runat="server" id="Someid" PageDisplayMode="Display" >
            <!-- Interactive -->
            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>

        </PublishingWebControls:EditModePanel>

    </ContentTemplate>
</SharePointWebControls:UIVersionedContent>


If you are including this in the page you may need to include SuppressTags="True" to omit the enclosing tags.

<PublishingWebControls:EditModePanel runat="server" PageDisplayMode="Display" SuppressTag="True">
   [Content here]
</PublishingWebControls:EditModePanel>

Reference http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.webcontrols.editmodepanel.suppresstag.aspx

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜