SharePoint EditModePanel всегда отображает контент - PullRequest
1 голос
/ 06 октября 2011

Очень просто, у меня есть Javascript, который я хочу загрузить только в режиме отображения, потому что событие click мешает переходу в веб-части редактора контента.В настоящее время скрипт загружается как в режиме отображения, так и в режиме редактирования со следующим тегом:

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

И вот мои пространства имен:

<%@ 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" %> 

Чего мне не хватает?

РЕДАКТИРОВАТЬ: Кроме того, если я переключаю страницу на PageDisplayMode = "Редактировать", скрипт не загружается в любом месте.

Ответы [ 2 ]

4 голосов
/ 25 ноября 2011

Я положил то, что у меня было, и что работает для меня.Единственное, что я могу заметить, так это то, что у вас есть runat = server, а не runat = "server"

Боюсь, я не знаю больше, чем это.

<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>
0 голосов
/ 05 июля 2012

Если вы включаете это в страницу, вам может потребоваться включить SuppressTags = "True", чтобы пропустить включающие теги.

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

Ссылка http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.webcontrols.editmodepanel.suppresstag.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...