Avatar billede simsen Mester
13. oktober 2009 - 09:53 Der er 1 løsning

Nested MasterPages - kan ikke finde pagebody

Hej,

Jeg er igang med at finde ud af nested MasterPages og er støt ind i et problem.

Det jeg har:

MPHeadPageType02Test.master (I denne har jeg layout for siden - den her der kan komme flere forskellige af, så jeg har flere layouts at vælge mellem)
MPContentCode.master (Her ligger jeg min kode i forskellige contents. F.eks. menuen kommer til at ligge i cphMenuDefault content og der er også en reference til chpPageBody, der er selve indholdet på siden. Det er også her jeg vælger hvilken MPHeadPageTypeXXTest.master jeg vil vælge (altså hvilket layout))
Default.aspx (Her er selve indholdet på siden)

Mit problem er nu, at når jeg forsøger at tilgå cphPageBody på default.aspx siden - siger den den kan ikke kan finde denne i de pågældende masterpages.

Nogen der kan fortælle mig, hvad det er jeg gør forkert?

Koder:
MpHeadPageType02Test.master:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MPHeadPageType02Test.master.cs" Inherits="Test_MasterPages_MPHeadPageType02Test" %>

<!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></title>
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table cellpadding="0" cellspacing="0" border="1">
            <tr>
                <td>
                    <asp:ContentPlaceHolder id="cphMenuDefault" runat="server">       
                    </asp:ContentPlaceHolder>
                </td>
                <td rowspan="3">
                    <asp:ContentPlaceHolder id="cphPageBody" runat="server">       
                    </asp:ContentPlaceHolder>
                </td>
            </tr>
            <tr>
                <td style="height: 100px"></td>
            </tr>
            <tr>
                <td>
                    <asp:ContentPlaceHolder id="cphMenuShop" runat="server">       
                    </asp:ContentPlaceHolder>
                </td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>

MPContentCode.master
<%@ Master Language="C#" MasterPageFile="~/Test/MasterPages/MPHeadPageType02Test.master" AutoEventWireup="true" CodeFile="MPContentCode.master.cs" Inherits="Test_MasterPages_MPContentCode" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cphMenuDefault" Runat="Server">
    Menu default
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="cphPageBody" Runat="Server" />
<asp:Content ID="Content4" ContentPlaceHolderID="cphMenuShop" Runat="Server">
    Menu shop
</asp:Content>

Default.aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/Test/MasterPages/MPContentCode.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Test_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="cphPageBody" Runat="Server">
    Her kommer så selve indholdet af body
</asp:Content>
Avatar billede simsen Mester
13. oktober 2009 - 11:43 #1
Lærer og lærer......og fandt så selv svaret....

Jeg manglede i MPContentCode at lave en ContentPlaceHolder for hver enkelt Content:

<asp:Content ID="head" ContentPlaceHolderID="head" Runat="Server">
    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
    </asp:ContentPlaceHolder>
</asp:Content>
<asp:Content ID="Content1" ContentPlaceHolderID="cphMenuDefault" Runat="Server">
    <asp:ContentPlaceHolder ID="cphMenuDefault" runat="server">
        Menu default
    </asp:ContentPlaceHolder>   
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cphPageBody" Runat="Server">
    <asp:ContentPlaceHolder ID="cphPageBody" runat="server">
    </asp:ContentPlaceHolder>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="cphMenuShop" Runat="Server">
    <asp:ContentPlaceHolder ID="cphMenuShop" runat="server">
        Menu shop
    </asp:ContentPlaceHolder>   
</asp:Content>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester