Question

Wondering if someone has the code to delete a page from the Site Pages library in a Feature Event Receiver on de-activation

TIA

Was it helpful?

Solution

Assuming the feature is at site collection level and your "Site Pages" library is in root web:

public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
        {
            SPSite sitecollection = properties.Feature.Parent as SPSite;
            SPWeb web = site.RootWeb;
            SPList list = web.Lists["Site Pages"];
            SPFolder spfolder = list.RootFolder;

            SPFile pagetoDelete = spfolder.Files["PageToDelete.aspx"];

            if (pagetoDelete.CheckOutType != SPFile.SPCheckOutType.None)
                pagetoDelete.CheckIn(string.Empty);

            //delete the page
            pagetoDelete.Delete();
            //Recycle page 
            pagetoDelete.Recycle();

            spfolder.Update();

        }
Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top