1

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

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

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

任何人都知道如何整理出正确的母版页?

4

2 回答 2

2

我们通过委托控制来做到这一点。在 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。

希望这可以帮助

于 2009-01-28T18:54:25.837 回答
0

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

于 2009-02-08T03:31:04.940 回答