Sharepoint 如何强制新网站集继承母版页?

Sharepoint 如何强制新网站集继承母版页?,sharepoint,master-pages,wss,Sharepoint,Master Pages,Wss,我有一些在SharePoint中创建新站点的代码。浏览到新创建的站点时,将抛出“未找到文件”错误。如果浏览到/_layouts/ChangeSiteMasterPage.aspx,您可以选择一个新的站点母版页和系统母版页,站点工作正常。这篇kb文章完美地描述了我的症状: 我的问题是,在给出的两个(也许三个?)解决方案中,只有一个有效。如果我手动选择新的母版页,它可以正常工作。第二种解决方法是在新站点上激活发布功能。这并不能解决任何问题 还有一个建议是将发布功能绑定到我为新站点使用的站点定义中。在

我有一些在SharePoint中创建新站点的代码。浏览到新创建的站点时,将抛出“未找到文件”错误。如果浏览到/_layouts/ChangeSiteMasterPage.aspx,您可以选择一个新的站点母版页和系统母版页,站点工作正常。这篇kb文章完美地描述了我的症状:

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

还有一个建议是将发布功能绑定到我为新站点使用的站点定义中。在我的例子中,这是STS#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


希望这对我有所帮助,我只需要在一个生成的站点中更改主模板,然后将其另存为模板。我删除了损坏的模板,并将其放回原处。现在所有生成的站点都可以正常工作