Я хотел бы иметь страницу, которая использует дочернюю главную страницу, заполнить заполнитель содержимого родителя, но я не могу заставить его работать. Всякий раз, когда я пытаюсь получить сообщение об ошибке "Не удается найти ContentPlaceHolder 'customHead' на главной странице '/templates/info.master', проверьте атрибут ContentPlaceHolderID элемента управления контентом на странице содержимого."
У меня есть главная страница (/templates/main.master), определенная так:
<%@ Master Language="C#" %>
<head runat="server">
<title>foo</title>
<asp:contentplaceholder runat="server" id="customHead" />
</head>
<body>
<div id="content">
<asp:contentplaceholder runat="server" id="masterContent" />
</div>
Тогда у меня есть дочерний мастер (/templates/info.master), определенный следующим образом:
<%@ Master Language="C#" MasterPageFile="/templates/main.master" %>
<asp:content id="homeContent" contentPlaceHolderId="masterContent" Runat="server">
<div id="info-container">
<div id="info-content">
<asp:contentplaceholder runat="server" id="infoContent"/>
</div>
</div>
</asp:content>
И, наконец, моя страница определена так:
<%@ Page Language="C#" MasterPageFile="/templates/info.master" %>
<asp:Content ID="head" ContentPlaceHolderID="customHead" runat="server">
<!-- Custom header area -->
<link rel="stylesheet" type="text/css" href="foo.css"/>
</asp:Content>
<asp:Content ID="content" ContentPlaceHolderID="childContent" runat="server">
This is my child content
</asp:Content>