У меня есть сервер SharePoint 2007 и я хочу создать сайт с вложенной главной страницей.
Я создал новую мастер-страницу, test.master:
<%@ Master MasterPageFile="~masterurl/default.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="PlaceHolderMain" runat="server">
Test123
<b>
<asp:ContentPlaceHolder runat="server" ID="TestPH" Visible="true" />
</b>
</asp:Content>
Затем я создал новую страницу, Test.aspx
<%@ Page MasterPageFile="test.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TestPH" runat="server">
TestChild
<asp:Label Text="Test" runat="server" />
</asp:Content>
Я загрузил test.master и test.aspx на новый пустой сайт с помощью SharePoint Designer.
Когда я вызываю Test.aspx, я вижу только Test123 из test.master - кажется, он игнорирует заполнитель. Вывод HTML (включая выдержку из Sharepoint default.master):
<td class='ms-bodyareaframe' valign="top" height="100%">
<A name="mainContent"></A>
Test123
<b>
</b>
</td>
Теперь, когда я захожу в Test.aspx и меняю его мастер-страницу на default.master, а TestPH на PlaceHolderMain, я правильно вижу TestChild Test, поэтому сама страница работает.
Ни страница Master, ни страница ASPX еще не содержат CodeBehind, и, следовательно, в файл web.config не было внесено никаких изменений (SafeControls ...)
Интересно, нужно ли мне что-то разрешить, чтобы разрешить вложенные главные страницы, или SharePoint 2007, как обычно, требует жертвоприношения козла на его алтаре ...