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 :

Master page, changer content page


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Par défaut Master page, changer content page
    Bonjour, je suis un peu coincé sur la compréhension de la master page

    j'ai beau regarder des tuto etc, ca explique toujours "master page d'un coté, content page de l'autre" etc

    ce que je cherche à faire est assez banal

    changer le contenu de la page affiché quand je clic sur differents éléments d'un menu inseré dans la master page

    les pistes que j'ai exploré sans succès, sont les suivantes

    - mettre 1 ContentPlaceHolder par "sous page" et jouer avec des visibles, databind et autres

    - mettre 1 seul ContentPlaceHolder et essayer de charger une content page dedans ou qq chose comme ca

    je pense avoir raté quelque chose dans la compréhension ou l'utilisation de la master page et content page, mais je ne trouve pas quoi

    ma master page est la suivante :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
     
    <!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>Site CG</title>
        <link href="CGCSS.css" rel="stylesheet" type="text/css"/>
        <asp:ContentPlaceHolder id="head" runat="server">
        </asp:ContentPlaceHolder>
    </head>
    <body class="Body">
        <form id="form1" runat="server" dir="ltr">    
            <div>
            <asp:Menu ID="Menu1" runat="server" onmenuitemclick="Menu1_MenuItemClick">
                <Items>
                    <asp:MenuItem Text="Procédures" Value="Procédures"></asp:MenuItem>
                    <asp:MenuItem Text="Données" Value="Données"></asp:MenuItem>
                </Items>            
            </asp:Menu>
                <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Proc" />
                <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Grid" />
            <asp:ContentPlaceHolder id="MainContent" runat="server">
            </asp:ContentPlaceHolder>
     
        </div> 
     
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
     
     
        </form>
    </body>
    </html>

    mes 2 contents pages sont les suivantes

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Procedures.aspx.cs" Inherits="Procedures" Title="Untitled Page" %>
     
    <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
                </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:Button ID="BtnProc1" runat="server" Text="Button" 
                    onclick="BtnProc1_Click" />
                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
     
            </ContentTemplate>
        </asp:UpdatePanel>
     
        <asp:UpdatePanel ID="UpdatePanel2" runat="server">
            <ContentTemplate>
                <asp:Button ID="BtnProc2" runat="server" Text="Button" />
                <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
            </ContentTemplate>
        </asp:UpdatePanel>
     
        <asp:UpdatePanel ID="UpdatePanel3" runat="server">
            <ContentTemplate>
                <asp:Button ID="BtnProc3" runat="server" Text="Button" />
                <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
            </ContentTemplate>
        </asp:UpdatePanel>    
     
    </asp:Content>
    et la 2eme
    la page est assez chargée, je met juste le début

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default4.aspx.cs" Inherits="Default4" Title="Untitled Page" %>
     
    <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">

    et enfin le code du menu de la master, qui est donc incomplet...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
        {
            if (Menu1.SelectedItem.Text == "Procédures")
            {
                //blabla
            }
        }
    si vous avez des idées, je suis tout ouie !

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    En effet, t'as raté pas mal de choses

    Tu dois rien mettre dans le ContentPlaceHolder.
    Tu devrais regarder qqs tutos sur les MasterPage

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Par défaut
    le contentplaceholder de la master page est bien vide

    en revanche, si on ne remplit pas ceux des contentpage... me demande bien comment remplir ces contentpage alors ^^
    enfin, je continue de chercher

  4. #4
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut
    Une masterpage est une sorte de frame.

    Chaque content que tu remplis est une page spécifique.

    Donc dans ton menu quend tu cliques sur un lien il suffit de faire un Response.Redirect() ou NavigateUrl("lenomdelapagefille").

    Je ne vois pas trop ou est le problème.

    Effectivement certains tuto sont mieux que d'autre, et c'est un principe de base en asp.net et bien pratique

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Par défaut
    Eh oui tortue, je viens de m'en rendre compte il y a environ 10 minutes que ce que je voulais faire était un lien tout simple avec la propriété "NaviguateUrl" du menu...

    En revanche, je m'étais fourvoyé (mot compte triple) sur le principe des master page et content page.

    Je souhaitais que ça ne recharge que la partie où se trouve le contenu du contentplaceholder au lieu de la page entiere.
    Autrement dit, de l'Ajax.

    Mais vu que le master page fonctionne comme un calque que l'on superpose à sa contentpage, ce n'est pas possible par ce moyen. Du coup, je cherche maintenant faire en utilisant tout de même une master page.

  6. #6
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Si tu changes de page, y aura un rafraichissement quoiqu'il arrive

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

Discussions similaires

  1. [Débutant] master page et content page
    Par tlili_info dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/08/2011, 12h15
  2. Réponses: 1
    Dernier message: 23/05/2010, 09h08
  3. Réponses: 3
    Dernier message: 10/12/2008, 18h26
  4. Conflit Master Page et Content ?
    Par rad_hass dans le forum ASP.NET
    Réponses: 3
    Dernier message: 14/02/2008, 17h15
  5. Réponses: 2
    Dernier message: 08/02/2008, 11h49

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