Как решить Не удается найти ошибку ContentPlaceHolder?
Наличие момента "duh", пытающегося реализовать новую страницу контента
Здесь структура
Master Page
---- Nested Master Page
-------- Nested Master 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>
Ошибка приема:
Не удается найти ContentPlaceHolder 'Content2' на главной странице '/Views/Intervention/InterventionMaster.master', проверьте содержимое управляйте атрибутом ContentPlaceHolderID на странице содержимого.
Что я могу делать неправильно?
Ответы
Ответ 1
У вас нет ContentPlaceHolder
с ID = "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>
Ответ 2
Грязным решением было бы обойти Вложенную главную страницу
с страницы вложенного основного контента
protected void Page_PreInit(object sender, EventArgs e)
{
Master.MasterPageFile = "~/Whatever.Master";
}
Ответ 3
Использовать ID="MainContent"
<asp:Content ID="Content2" ContentPlaceHolder ID="MainContent" runat="server"></asp:Content>