none
Lien entre une page d'application et une page maître RRS feed

  • Question

  • Bonjour à toutes et à tous,

    Ce que j'essaye de réaliser est assez simple sur le papier. Je cherche à déployer une solution contenant une application page et une master page. Le but est que l'application page (seulement elle) hérite de la master page déployée.

    Pour ce faire, j'ai créé mon projet, ajouté un module dans lequel j'ai positionné ma master page et modifié quelques paramètres dans le Element.xml (en voici une copie) :

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <Module Name="MasterPageGallery" Path="MasterPageGallery" Url="_catalogs/masterpage">
        <File Path="toto.master" Url="toto.master" Type="GhostableInLibrary">
          <Property Name="UIVersion" Value="4" />
        </File>
      </Module>
    </Elements>

    Cette masterpage est déployée correctement quand la feature est activée et je la vois physiquement présente que j'ouvre SPDesigner ou la Master Page Gallery de ma Site Collection.

    Dans le même temps, j'ai créé une application page dans laquelle je n'ai rien modifié par rapport à ce que Visual Studio génère en dehors de la ligne suivante :

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.cs" Inherits="picsou.Layouts.picsou.Home" MasterPageFile="_catalogs/masterpage/toto.master" %>

    (dans la version originale, il y avait un attribut DynamicMasterPageFile="~masterurl/default.master")

    J'ai tout essayé : chemins absolus, chemins relatifs, chemins détournés, mi-chemin : rien n'y fait. Impossible de faire en sorte que mon application page se "connecte" à la master page déployée.

    Si quelqu'un a une piste ou une explication, je suis preneur !

    Cordialement,

    --
    AP

    jeudi 16 août 2012 19:11

Réponses

  • Bonjour,

    Faites le test en déployant la master Pages dans le répertoire _layouts :

    ...\14\TEMPLATE\LAYOUTS\v4_Custom.master

    Et dans l'appplication page:

    <%@ Page Language="C#" [...] MasterPageFile="~/_layouts/v4_Custom.master"%>

    J'ai fait le test hier soir sur ma VM, et ca fonctionne.

    NicoBzh

    jeudi 6 septembre 2012 07:03

Toutes les réponses