Je n'arrive pas à mettre à jour un attribut SharePoint publishingWeb sous RunWithElevatedPrivileges. il échoue avec l'exception "La validation de sécurité pour cette page est invalide" sur cette ligne: "pubWeb.IncludeInCurrentNavigation = false;". Voici le code que j'essaie de lancer. Normalement vous pouvez définir AllowUnsafeUpdates = true, mais publishWeb n'a pas cette propriété spéciale.SharePoint PublishingLe changement de Web dans un contexte de sécurité élevé échoue, pourquoi?
Ma question est quelle est la bonne façon de mettre à jour les attributs publishingWeb dans un contexte élevé?
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite siteCollection = new SPSite(parentSiteUrl))
{
//siteCollection.AllowUnsafeUpdates = true;
using (SPWeb web = siteCollection.OpenWeb(subSiteUrl))
{
//web.AllowUnsafeUpdates = true;
if (PublishingWeb.IsPublishingWeb(web))
{
// hide new sub-site from navigation elements.
PublishingWeb pubWeb = PublishingWeb.GetPublishingWeb(web);
pubWeb.IncludeInCurrentNavigation = false;
pubWeb.IncludeInGlobalNavigation = false;
pubWeb.Update();
}
}
}
});
Où votre code est-il exécuté? récepteur de fonction? partie Web? –
Il s'exécute dans un contrôle utilisateur, qui est cuit dans une mise en page. – James