【问题标题】:How do I force a new site collection to inherit a master page?如何强制新网站集继承母版页?
【发布时间】:2010-10-04 00:32:26
【问题描述】:

我有一些在 SharePoint 中创建新网站的代码。浏览到新创建的站点时,会引发 File Not Found 错误。如果您浏览到 /_layouts/ChangeSiteMasterPage.aspx,您可以选择一个新的站点母版和系统母版页,并且该站点可以正常工作。这篇 kb 文章完美地描述了我的症状:http://support.microsoft.com/kb/936908

我的问题是在给出的两个(也许三个?)解决方案中,只有一个有效。如果我手动选择新的母版页,它工作正常。第二种解决方法是在新站点上激活发布功能。这并不能解决任何问题。

还有一个建议是将发布功能装订到我用于新网站的网站定义中。就我而言,这是 STS#1(空白站点),装订发布功能并不能缓解我的问题。

有人知道如何整理出正确的母版页吗?

【问题讨论】:

    标签: sharepoint master-pages wss


    【解决方案1】:

    我们通过委托控制来做到这一点。在 OnLoad 我们调用如下方法:

    private void ConfigureMasterPage(SPWeb web)
    {
           string masterURL = string.Empty;
           masterURL = web.Site.ServerRelativeUrl + "/_catalogs/masterpage/XXX.master";
           masterURL = masterURL.Replace("//", "/");
           web.MasterUrl = masterURL;
           web.CustomMasterUrl = masterURL;
           web.Update();
    }
    

    不要忘记处理 SPSite 和 SPWeb 对象,您必须将 AllowUnsafeUpdates 设置为 true。

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      原来我只需要在其中一个生成的站点中更改主模板,然后将其保存为模板。我删除了损坏的模板并将其放置在它的位置。现在所有生成的网站都可以正常工作了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-18
        • 1970-01-01
        • 2010-09-05
        • 1970-01-01
        相关资源
        最近更新 更多