Consultez une mise en page pour la mise à jour programme
-
16-10-2019 - |
Question
Dans un événement FeatureActivated
, je suis en train de mettre à jour le type de contenu associé pour une mise en page. Je cours pour des questions bien avec la page ASPX associée ne pas être vérifié. Voici mon code:
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPSite site = (SPSite)properties.Feature.Parent;
if (PublishingSite.IsPublishingSite(site))
{
PublishingSite pubSite = new PublishingSite(site);
SPContentType ct = site.RootWeb.ContentTypes["Custom Page"];
string layoutURL = site.ServerRelativeUrl + "_catalogs/masterpage/" + pageLayoutName;
PageLayout layout = pubSite.PageLayouts[layoutURL];
layout.AssociatedContentType = ct;
layout.Update();
}
}
J'ai essayé
PageLayout layout = pubSite.PageLayouts[layoutURL];
PublishingPage ppLayout = PublishingPage.GetPublishingPage(layout.ListItem);
ppLayout.CheckOut();
layout.AssociatedContentType = ct;
layout.Update();
ppLayout.CheckIn("Associated CT updated");
mais cette erreur sur avec Error occurred in deployment step 'Activate Features': Invalid SPListItem. The SPListItem provided is not compatible with a Publishing Page.
Toutes les idées?
La solution
Vous devez faire ListItem.CheckOut (pour l'élément de la liste représentée par la mise en page), plutôt que d'essayer de vérifier l'objet page.
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange