web-dev-qa-db-ja.com

ContentPlaceHolderエラーが見つからないという解決方法

新しいコンテンツページを実装しようとする「だめ」の瞬間がある

ここに構造があります

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

マークアップ:

マスターページ

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

ネストされたマスターページ

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

ネストされたマスターのコンテンツページ

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

受信エラー:

マスターページ '/Views/Intervention/InterventionMaster.master'でContentPlaceHolder 'Content2'が見つかりません。コンテンツページでコンテンツコントロールのContentPlaceHolderID属性を確認してください。

何が悪いのでしょうか?

21
O.O

ContentPlaceHolderID = "Content2"がありません。そのようなIDのコンテンツのみがあります。 ID="Content2"を使用してコンテンツ内に別のプレースホルダーを配置し、ページコンテンツに接続します。

マスターページ

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

ネストされたマスターページ

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

ネストされたマスターのコンテンツページ

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

ダーティクイックソリューションは、ネストされたマスターのコンテンツページからネストされたマスターページをバイパスすることです。

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

使用ID="MainContent"

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