IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[c#]Problème de référencement de MasterPage


Sujet :

ASP.NET

  1. #1
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut [c#]Problème de référencement de MasterPage
    bonjour,
    j'essaie de référencer une MasterPage dans un fichier aspx.

    Que j'ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MasterPageFile="MyMasterPageFile.master"
    en en-tête du fichier aspx dans la balise ou bien que j'ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.MasterPageFile = "MyMasterPageFile.master";
    dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void Page_PreInit(Object sender, EventArgs e)
    j'obtiens à la compilation l'erreur :

    Les contrôles de contenu doivent être des contrôles de niveau supérieur dans une page de contenu ou une page maître imbriquée qui fait référence à une page maître.
    Je n'arrive pas à comprendre l'erreur (ça doit être tout bête mais je ne vois pas ...).

    Quelqu'un aurait-il une idée ?

    Merci

  2. #2
    Membre très actif
    Inscrit en
    Janvier 2004
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 208
    Par défaut
    on a rien compris

  3. #3
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut
    A l'éxécution de la page apparaît à l'écran le message :

    Les contrôles de contenu doivent être des contrôles de niveau supérieur dans une page de contenu ou une page maître imbriquée qui fait référence à une page maître.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 114
    Par défaut
    pour créer une page à partir d'une masterpage, fais clic droit sur la masterpage puis ajouter une page de contenu

  5. #5
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    Tes Pages sont-elles au meme niveau que ta masterpage? sinon tu dois ajouter le tilde "~" et le slash "/" devant j'ai déjà eu le problème mais je ne suis pas sur que ça vienne uniquement de là.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/index.master" CodeFile="Sample.aspx.cs" Inherits="Sample" %>

  6. #6
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut
    Merci pour vos réponses.

    Même avec le ~ j'obtiens le même message.

    Quand je sélectionne "Ajouter une page de contenu" depuis la MasterPage, il ne se passe rien.


  7. #7
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    est-tu sur que dans ta masterpage tu as bien des elements ContentPlaceHolder?
    sans eux tu ne sais pas ajouter de contenu!!!
    et dans tes pages aspx tu dois avoir des elements Content qui font références au contentplaceholder de ta masterpage via la propriété ContentPlaceHolderId

    exemple : (MasterSample.master)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <%@ Master Language="C#" CodeFile="MasterSample.master.cs" Inherits="MasterSample" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
            </asp:contentplaceholder>
        </div>
        </form>
    </body>
    </html>
    exemple : (PageContent.aspx)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%@ Page Language="C#" MasterPageFile="~/MasterSample.master" AutoEventWireup="true" CodeFile="PageContent.aspx.cs" Inherits="PageContent" Title="Untitled Page" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    </asp:Content>

  8. #8
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut
    Merci ccambier,

    C'est okay pour le contentplaceholder de la MasterPage.

    Par contre à quel endroit faut-il placer la balise Content dans la page aspx ?
    Aussi bien en en-tête qu'en section html la balise n'est pas reconnue.

  9. #9
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    en fait la balise content se place en tout premier lieu, pas besoin de balise html ni body pcq la page aspx va hériter de ces balises de la masterpage donc tout code html ou asp doit se trouver à l'intérieur d'un élément content sinon le serveur va générer une erreur

    voilà gspr que c'est assez clair

  10. #10
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut
    Okay,
    là j'ai un message d'erreur
    Une page ne peut comporter qu'une seule balise Form côté serveur.
    Donc la page qui hérite de la MasterPage récupère tout le contenu html de la MasterPage.

    Ca y est, j'ai compris le principe, ça ne correspond pas à ce que je voulais faire : juste récupérer de la mise en forme et des voids, pas toute la structure html.

    En tout cas merci

  11. #11
    Membre expérimenté Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Par défaut
    c'est possible et tout dépend où tu place dont contentplaceholder et quel contenu tu veux changer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/07/2008, 16h45
  2. [Free Pascal] Problème de référencement d'une DLL
    Par Cravis dans le forum Free Pascal
    Réponses: 12
    Dernier message: 09/12/2007, 08h40
  3. [Référencement Web] Problème de référencement
    Par julienOriano dans le forum Référencement
    Réponses: 4
    Dernier message: 16/05/2006, 08h51
  4. Probléme de référencement de mon site
    Par HNT dans le forum Référencement
    Réponses: 3
    Dernier message: 12/07/2005, 09h49
  5. [C#] Excel : problème de référencement
    Par cdurand dans le forum Windows Forms
    Réponses: 3
    Dernier message: 11/03/2005, 11h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo