如何解决找不到ContentPlaceHolder错误?

O.O*_*O.O 21 asp.net webforms master-pages

尝试实施新的内容页面时有一个"duh"时刻

这是结构

Master Page
---- Nested Master Page
-------- Nested Master's Content Page
Run Code Online (Sandbox Code Playgroud)

标记:

母版页

<asp:ContentPlaceHolder ID="bodyContent" runat="server">
</asp:ContentPlaceHolder>
Run Code Online (Sandbox Code Playgroud)

嵌套母版页

MasterPageFile="~/Views/Shared/Administrator.Master"
<asp:Content ID="Content2" CotentPlaceHolderID="bodyContent" runat="server">
 </asp:Content>
Run Code Online (Sandbox Code Playgroud)

嵌套大师的内容页面

MasterPageFile="~/Views/Intervention/InterventionMaster.master"
<asp:Content runat="server" ID="myContent" ContentPlaceHolderID="Content2">
 </asp:Content>
Run Code Online (Sandbox Code Playgroud)

收到错误:

在母版页'/Views/Intervention/InterventionMaster.master'中找不到ContentPlaceHolder'Content2',在内容页面中验证内容控件的ContentPlaceHolderID属性.

我能做错什么?

Sam*_*ich 26

你不必ContentPlaceHolderID = "Content2".您只拥有此类ID的内容.将另一个占位符放在内容中ID="Content2",然后连接页面内容.

母版页

<asp:ContentPlaceHolder ID="bodyContent" runat="server">
</asp:ContentPlaceHolder>
Run Code Online (Sandbox Code Playgroud)

嵌套母版页

<asp:Content ID="Content2" ContentPlaceHolderID="bodyContent" runat="server">
    <asp:ContentPlaceHolder ID="nestedContent" runat="server">
    </asp:ContentPlaceHolder>
 </asp:Content>
Run Code Online (Sandbox Code Playgroud)

嵌套大师的内容页面

<asp:Content runat="server" ID="myContent" ContentPlaceHolderID="nestedContent">
 </asp:Content>
Run Code Online (Sandbox Code Playgroud)