Я создал пользовательскую мастер-страницу, которая была развернута как функция. Я использую SP Foundation, а не SP Server.
Я активировал эту функцию, однако мастер-страница была применена только к сайтам верхнего уровня. Может кто-нибудь, пожалуйста, дайте мне знать, что я сделал неправильно с моим получателем событий.
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPSite siteCollection = properties.Feature.Parent as SPSite;
if (siteCollection != null)
{
SPWeb topLevelSite = siteCollection.RootWeb;
// Calculate relative path to site from Web Application root.
string WebAppRelativePath = topLevelSite.ServerRelativeUrl;
if (!WebAppRelativePath.EndsWith("/"))
{
WebAppRelativePath += "/";
}
// Enumerate through each site and apply branding.
foreach (SPWeb site in siteCollection.AllWebs)
{
site.MasterUrl = WebAppRelativePath + "_catalogs/masterpage/custom.master";
site.CustomMasterUrl = WebAppRelativePath + "_catalogs/masterpage/custom.master";
site.Update();
}
}
}
Любая помощь будет отличной!