Partager via


Modifier les composants SharePoint pour MDS

Découvrez comment modifier les composants de votre projet SharePoint pour tirer parti de la stratégie de téléchargement minimal (MDS) dans SharePoint. Minimal Télécharger stratégie (DMS) améliore l'expérience utilisateur en renvoyant à partir du serveur uniquement les parties d'une page requis pour restituer correctement dans le navigateur. Étant donné que la page rendue entièrement n'est pas retournée au client, le serveur doit être en mesure d'identifier les parties qui sont nécessaires pour afficher la page. Vous devrez peut-être modifier les composants dans votre projet SharePoint afin qu'ils sont identifiés comme des MDS à la spécification CLS et que vous pouvant travailler avec le moteur de MDS. Pour en savoir plus sur MDS, consultez Vue d’ensemble de la stratégie de téléchargement minimal.

Pourquoi modifier SharePoint components?

Comme expliqué dans Vue d’ensemble de la stratégie de téléchargement minimal, les contrôles SharePoint fonctionnent, que vous les modifiiez ou non pour tirer pleinement parti de MDS. Toutefois, lors de vos composants ne sont pas conformes MDS, le moteur de MDS émet un basculement. Dans un basculement, le moteur de MDS prend un aller-retour supplémentaire pour rediriger le navigateur vers la version complète de la nouvelle page, qui prend le temps. Les utilisateurs ont la meilleure expérience lorsque vous modifiez des composants pour travailler avec MDS et éviter un basculement de chaque fois que leur navigation vers une nouvelle page dans SharePoint. Vous devez généralement modifier les pages maîtres, les ASP.NET pages, les contrôles et les composants WebPart.

Pages maîtres

La page maître fournit un modèle qui vous permet de MDS identifier les régions de contenu qui peuvent doivent être mis à jour lorsqu'une personne accède à une nouvelle page. Optimisation de vos pages maîtres est une des opérations plus importantes à prendre des lors de l'optimisation des performances, car les pages maîtres identifient les sections qui nécessitent la mise à jour contenu. La page maître Seattle.master incluse avec SharePoint est un exemple correct d'une page maître optimisé. La figure 1 présente des exemples de composants dans la page maître Seattle.master changer de page, tels que la zone de contenu (1) principale, la barre de navigation de gauche (2) et le titre de la page (3).

Figure 1. Composants qui nécessitent des mises à jour dans une page maître

Composants qui requièrent des mises à jour sur la page maître

Remarque

[!REMARQUE] Il existe plusieurs stocké dans la page maître Seattle.master change de page, tels que des fichiers JavaScript et des feuilles de style. La figure 1 montre uniquement quelques exemples.

Il existe des modèles différents pour optimiser les composants dans une page maître. Vous pouvez utiliser un modèle pour les composants suivants :

  • Contrôles et les régions HTML

  • Feuilles de style

  • fichiers JavaScript

  • Titre de la page

Contrôles et les régions HTML sont MDS compatible si elles sont regroupées dans les balises SharePoint:AjaxDelta. En retour à la ligne du contenu dans les balises SharePoint:AjaxDelta, vous sont signalisation que le moteur de MDS doit mettre à jour les contrôles inclus et du code HTML. Si un contrôle ou une section de code HTML ne change pas de page, il ne doit pas être envoyé au client. Par conséquent, vous devez garder ces contrôles en dehors des balises AjaxDelta. Dans la Seattle.master page maître montrée la Figure 1, la zone de contenu principale ((1) est englobée dans des balises AjaxDelta, comme indiqué ici.

<SharePoint:AjaxDelta
            id="DeltaPlaceHolderMain"
            BlockElement="true"
            IsMainContent="true"
            runat="server">
    <a id="mainContent" name="mainContent" tabindex="-1"></a>
    <asp:ContentPlaceHolder id="PlaceHolderMain" runat="server" />
</SharePoint:AjaxDelta>

Autre exemple de la chaîne AjaxDelta est la barre de navigation de gauche (2) dans la Figure 1. Le code suivant montre comment le contrôle est englobée dans des balises AjaxDelta ainsi que de nombreuses autres contrôles et du code HTML.

<SharePoint:AjaxDelta
            id="DeltaPlaceHolderLeftNavBar"
            BlockElement="true"
            CssClass="ms-core-navigation"
            role="navigation"
            runat="server">
    <asp:ContentPlaceHolder id="PlaceHolderLeftNavBar" runat="server">
        <a id="startNavigation" name="startNavigation" tabIndex="-1"></a>
        <asp:ContentPlaceHolder id="PlaceHolderLeftNavBarTop" runat="server" />
        <asp:ContentPlaceHolder id="PlaceHolderQuickLaunchTop" runat="server" />
        <asp:ContentPlaceHolder id="PlaceHolderLeftNavBarDataSource" runat="server" />
        <asp:ContentPlaceHolder id="PlaceHolderCalendarNavigator" runat="server" />
        <asp:ContentPlaceHolder id="PlaceHolderLeftActions" runat="server" />
        <!-- There are more controls and HTML in this placeholder in the Seattle master page -->
    </asp:ContentPlaceHolder>
</SharePoint:AjaxDelta>

Une dernière chose à retenir sur les balises AjaxDelta est que vous ne pouvez pas imbriquer. Vous devez spécifier les balises AjaxDelta du plus haut niveau requis dans la structure de la page maître.

L'exemple de dernière à la Figure 1 est le titre de la page (3), ce qui nécessite un motif spécial qui utilise la balise SharePoint:PageTitle. Le code suivant montre la balise PageTitle tel qu'utilisé dans la page maître Seattle.master.


<SharePoint:PageTitle runat="server">
    <asp:ContentPlaceHolder id="PlaceHolderPageTitle" runat="server">
        <SharePoint:ProjectProperty Property="Title" runat="server" />
    </asp:ContentPlaceHolder>
</SharePoint:PageTitle>

Votre page maître peut également inclure des fichiers JavaScript et des feuilles de style. Le moteur de serveur doit identifier les fichiers CSS et JavaScript selon les besoins. Pour identifier les ressources de fichiers CSS selon les besoins, utilisez le modèle suivant.


<SharePoint:CssLink runat="server" Version="15"/>
<SharePoint:CssRegistration Name="my_styles.css" runat="server" />

Notez que vous pouvez avoir qu'une seule balise CssLink par page maître, mais vous pouvez avoir plusieurs balises CssRegistration, vous pouvez ajouter plusieurs fichiers CSS. Utiliser le modèle suivant pour les fichiers JavaScript .


<SharePoint:ScriptLink language="javascript" name="my_javascript.js" runat="server" />

À l'aide de balises de style et script HTML et fichiers CSS et JavaScript n'est pas pris en charge dans MDS.

pages de ASP.NET

Si votre projet comprend des pages ASP.NET , vous devrez probablement référencer des fichiers CSS et JavaScript . Les balises HTML style et script ne sont pas compatibles avec MDS. Au lieu de cela, utilisez les modèles CssRegistration et ScriptLink expliqués dans la section précédente.

Vos pages ASP.NET peuvent également utiliser la méthode Response.Output pour écrire du contenu dans la page, qui n'est pas autorisée dans MDS. Au lieu de cela, vous pouvez utiliser les méthodes MDS à la spécification CLS suivantes de la classe SPHttpUtility :

Outre référencement de fichiers JavaScript , vos pages ASP.NET peuvent avoir insérée JavaScript code. Utiliser le modèle suivant pour rendre votre script bloque MDS compatible.

<SharePoint:ScriptBlock runat="server" >
    // Your JavaScript code here.
</SharePoint:ScriptBlock>

Contrôles et composants WebPart

Vous devez également marquer vos contrôles et composants WebPart comme conformes MDS. Le code suivant montre le modèle à utiliser.


[assembly: Microsoft.SharePoint.WebControls.MdsCompliantAttribute(IsCompliant = true)]
namespace VisualWebPartProject2.VisualWebPart1
{
    // Rest of your control logic

En outre, vos contrôles et composants WebPart doivent inscrire leurs ressources à l’aide des méthodes de la classe SPPageContentManager . Les ressources les plus courants sont extraits JavaScript et les dossiers cachés, qui peuvent être enregistrés en utilisant le RegisterClientScriptBlock et RegisterHiddenField, respectivement.

Vos contrôles et composants WebPart peuvent également utiliser des fichiers XSLT pour contrôler le processus de rendu. Vos fichiers de transformation XSLT peuvent avoir incorporés JavaScript code ou fichiers. Le moteur de MDS doit savoir à propos de ces ressources. Vous pouvez inscrire les ressources JavaScript à l'aide d'un objet d'extension XSLT nommé pcm. Un bon exemple d’utilisation de l’objet pcm est dans le fichier %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15\TEMPLATE\LAYOUTS\XSL\fldtypes.xsl. Le code suivant montre comment le fichier fldtypes.xsl utilise l'objet pcm pour enregistrer les ressources JavaScript .


<xsl:value-of select="pcm:RegisterScriptBlock(concat('block1',$ViewCounter), string($scriptbody1))"/>
<xsl:value-of select="pcm:RegisterScriptLink('/_layouts/15/wssactionmenu.js')"/>

Voir aussi