Как использовать главную страницу сайта со страницы _layout SharePoint? - PullRequest
4 голосов
/ 12 января 2009

Я хочу использовать мастер-файл (файл сайта, если это имеет смысл) в моем кусте SharePoint 12 / template / layouts / TelephoneBookList / test.aspx. Однако всякий раз, когда я добавляю MasterPageFile = "~ / _layouts / simple.master" или что-то подобное на мою страницу test.aspx, я получаю страницу ошибки sharepoint и следующее в файле журнала:

01/12/2009 10: 56: 26.95 w3wp.exe (0x1064) 0x1280 Топология Windows SharePoint Services 0 Критический недопустимый URL-адрес: http://localhost. Вам также может потребоваться обновить любые альтернативные сопоставления доступа, относящиеся к http://mcdevsp. Справка по этой ошибке: http://go.microsoft.com/fwlink/?LinkId=114854

01/12/2009 10: 56: 27.09 w3wp.exe (0x1064) 0x1280 Windows SharePoint Services Общее 8dzz Высокое Тип исключения: System.Web.HttpException Сообщение об исключении: файл '/ _layouts / TelephonebookList / ~ masterurl / default. мастер не существует.

01/12/2009 10: 56: 27.23 w3wp.exe (0x1064) 0x1280 Топология Windows SharePoint Services 0 Критический недопустимый URL-адрес: http://localhost. Вам также может потребоваться обновить любые альтернативные сопоставления доступа, относящиеся к http://mcdevsp. Справка по этой ошибке: http://go.microsoft.com/fwlink/?LinkId=114854

01/12/2009 10: 56: 27.70 w3wp.exe (0x1064) 0x1280 Windows SharePoint Services Общие сведения 8dzw Средний spHttpHandler: GetHash запущен

01/12/2009 10: 56: 27.70 w3wp.exe (0x1064) 0x1280 Windows SharePoint Services Общие сведения 8dzx Средний spHttpHandler: GetHash закончен

Без атрибутов MasterPageFile он работает отлично, однако не имеет общего внешнего вида веб-сайта.

Большое спасибо.

Ответы [ 2 ]

4 голосов
/ 12 января 2009

Попробуйте это:

Оставьте объявление MasterPageFile по умолчанию (~ / _layouts / simple.master) и переопределите OnPreInit в своем пользовательском коде.

protected override void OnPreInit(EventArgs e)
{
    base.OnPreInit(e);

    this.MasterPageFile = SPContext.Current.Web.MasterUrl;
}
1 голос
/ 12 января 2009

SharePoint требует, чтобы страницы _layouts были объявлены с помощью ~ / _layouts / application.master. Затем метод OnPreInit может использоваться для смены мастера во время выполнения.

HttpModule может использоваться для изменения мастера на всех страницах приложения: Как настроить файл приложения application.master SharePoint

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...