web-dev-qa-db-fra.com

Comment résoudre l'erreur Impossible de trouver ContentPlaceHolder?

Avoir un moment "duh" essayant de mettre en œuvre une nouvelle page de contenu

Voici la structure

Master Page
---- Nested Master Page
-------- Nested Master's Content Page

Marquer:

Page principale

<asp:ContentPlaceHolder ID="bodyContent" runat="server">
</asp:ContentPlaceHolder>

Page maître imbriquée

MasterPageFile="~/Views/Shared/Administrator.Master"
<asp:Content ID="Content2" CotentPlaceHolderID="bodyContent" runat="server">
 </asp:Content>

Page de contenu du maître imbriqué

MasterPageFile="~/Views/Intervention/InterventionMaster.master"
<asp:Content runat="server" ID="myContent" ContentPlaceHolderID="Content2">
 </asp:Content>

Recevoir une erreur:

Impossible de trouver ContentPlaceHolder 'Content2' dans la page maître '/Views/Intervention/InterventionMaster.master', vérifiez l'attribut ContentPlaceHolderID du contrôle de contenu dans la page de contenu.

Que pourrais-je faire de mal?

21
O.O

Vous n'avez pas ContentPlaceHolder avec ID = "Content2". Vous n'avez que du contenu avec un tel identifiant. Mettez un autre espace réservé à l'intérieur du contenu avec ID="Content2" puis connectez-vous au contenu de la page.

Page principale

<asp:ContentPlaceHolder ID="bodyContent" runat="server">
</asp:ContentPlaceHolder>

Page maître imbriquée

<asp:Content ID="Content2" ContentPlaceHolderID="bodyContent" runat="server">
    <asp:ContentPlaceHolder ID="nestedContent" runat="server">
    </asp:ContentPlaceHolder>
 </asp:Content>

Page de contenu du maître imbriqué

<asp:Content runat="server" ID="myContent" ContentPlaceHolderID="nestedContent">
 </asp:Content>
26
Samich

Une solution rapide serait de contourner le Page maître imbriquée de la page de contenu du maître imbriqué

protected void Page_PreInit(object sender, EventArgs e)
        {
            Master.MasterPageFile = "~/Whatever.Master";
        }
2
rpax

tiliserID="MainContent"

<asp:Content ID="Content2" ContentPlaceHolder ID="MainContent" runat="server"></asp:Content>
0
Codeone