PnP core component contains the extension methods which help to achieve the SharePoint task in simple lines of code. So to know more about PnP Core component, have a look at “Introduction to PnP Core Component”.

WebExtensions.DeleteWeb (PnP Core Component) – This extension method first checks the subsite available in the specified url and then delete that subsite from the parent web.

Method

boolDeleteWeb(stringsubsiteUrl)


Parameters:

Parameter Type Description
subsiteUrl string A string that represents the URL leaf name of a subsite


Return Type Description
bool true if the web was deleted; otherwise false if nothing was done

Syntax:

Single Line Code: Web.DeleteWeb("subsiteurl")

Code Snippet

The following example deletes the subsite from the parent website based on the given url and returns true value. If the subsite is not available or there's a problem in deleting the child site, this method returns false.

  • Create a console application.

  • Add PnP core component assembly references to the application. Refer “Introduction to PnP Core Component” to add a references to the VS solution.

  • Add Using Microsoft.SharePoint.Client and Using OfficeDevPnP.Core.Extensions as using statement to the top of the file.

  • Add the below code snippet and change the values where ever necessary.
  1. using System;
  2. usingSystem.Collections.Generic;
  3. usingSystem.Linq;
  4. usingSystem.Text;
  5. usingSystem.Threading.Tasks;
  6. usingMicrosoft.SharePoint.Client;
  7. usingOfficeDevPnP.Core;
  8. // Assembly Reference Used: OfficeDevPnP.Core, Version=2.4.1605.0, Culture=neutral, PublicKeyToken=3751622786b357c2
  9. //Supports SharePoint Online, SharePoint 2013+
  10. namespaceSampleApplication
  11. {
  12. classProgram
  13. {
  14. staticvoid Main(string[] args)
  15. {
  16. stringsiteUrl = "https://sharepointonline.sharepoint.com";
  17. AuthenticationManagerauthManager = newAuthenticationManager();
  18. //Interactive Login to SharePoint site - Opens a Online signin page to authenticate the user
  19. var context = authManager.GetWebLoginClientContext(siteUrl);
  20. //Deletes the child website with the specified subsite URL, from a parent Web, if it exists. Else the method return false value.
  21. bool success = context.Web.DeleteWeb("subsiteurl");
  22. if (success)
  23. Console.WriteLine("Site deleted successfully.");
  24. else
  25. Console.WriteLine("Problem in deleting the site.");
  26. Console.WriteLine("Press any key to exit.");
  27. Console.ReadKey();
  28. }
  29. }
  30. }
The above codeis also available from GitHub.