如何使用_layout SharePoint页面中的网站母版页?

时间:2009-01-12 10:22:00

标签: sharepoint layout master-pages

我想在我的SharePoint 12配置单元/模板/ layouts / TelephoneBookList / test.aspx文件中使用masterpagefile(如果这有意义的话,该网站是一个)。但是,每当我将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属性,它可以很好地工作,但它没有全局的Look&感觉网站。

非常感谢。

2 个答案:

答案 0 :(得分:4)

试试这个:

将MasterPageFile声明保留为默认值(〜/ _layouts / simple.master)并覆盖自定义代码中的OnPreInit。

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

    this.MasterPageFile = SPContext.Current.Web.MasterUrl;
}

答案 1 :(得分:1)

SharePoint需要使用〜/ _layouts / application.master声明_layouts页面。然后可以使用OnPreInit技术在运行时更改主数据。

HttpModule可用于更改所有应用程序页面上的主文件:How to customise the SharePoint application.master file