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 !