Я пытаюсь выполнить динамическое переключение главной страницы на сайте публикации SharePoint 2007.
Я следую этому примеру, в котором используется модуль HTTP
http://ranaictiu-technicalblog.blogspot.com/2009/10/sharepoint-dynamically-change-master.html
Вот мой код
public class SwitchMasterPage : IHttpModule
{
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.PreRequestHandlerExecute += new EventHandler(context_PreRequestHandlerExecute);
}
void context_PreRequestHandlerExecute(object sender, EventArgs e)
{
Page page = HttpContext.Current.CurrentHandler as Page;
if (page != null)
{
page.PreInit += new EventHandler(page_PreInit);
}
}
void page_PreInit(object sender, EventArgs e)
{
Logger.Verbose("SwitchMasterPage:page_PreInit", "I'm in the preInit event.");
}
}
Все работает нормально, когда текущая страницаtype является страницей приложения, однако, когда тип страницы является страницей публикации (например, BlueBand.master), процедура page_PreInit никогда не вызывается - хотя она все еще регистрируется обработчиком событий.