Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SharePoint 2007发布网站中的动态母版页_C#_Asp.net_Sharepoint 2007 - Fatal编程技术网

C# SharePoint 2007发布网站中的动态母版页

C# SharePoint 2007发布网站中的动态母版页,c#,asp.net,sharepoint-2007,C#,Asp.net,Sharepoint 2007,我正在尝试在SharePoint 2007发布站点中动态切换母版页 下面是使用HTTP模块的示例 这是我的密码 public class SwitchMasterPage : IHttpModule { public void Dispose() { } public void Init(HttpApplication context) { context.PreRequestHandlerExecute += new EventHan

我正在尝试在SharePoint 2007发布站点中动态切换母版页

下面是使用HTTP模块的示例

这是我的密码

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.");
    }
}
当当前页面类型为应用程序页面时,一切正常,但是当页面类型为发布页面(例如BlueBand.master)时,从未调用page_PreInit过程-它仍在向事件处理程序注册。

哦,是的


我也面临同样的问题。您在答案中提供的链接无效。你能告诉我你是怎么做到的吗?我正在尝试实现的是SharePoint 2010 ThanksI used context.PreRequestHandlerExecute+=new EventHandler(PreRequestHandlerExecute);这似乎起到了作用,但无法对2010年发表评论。