// you’re reading...

SharePoint

Set the SharePoint Welcome Page through code

You might end up with this requirement quite often to set your custom page as a welcome page for site/subsite instead of default.aspx provided by SharePoint.

Its quite a tedious job to set up default pages manually when you have more than 10 site/subsites. Its pretty easy to do it programmatically. Here is how:

public static void SetDefaultPage(SPWeb web, string pageName)
{
    if (PublishingWeb.IsPublishingWeb(web))
    {
    PublishingWeb publishingWeb = PublishingWeb.GetPublishingWeb(web); 

    //Get the file name
    SPFile welcomeFile = web.GetFile(pageName);
    //Assign the new filename to the DefaultPage property
    publishingWeb.DefaultPage = welcomeFile; 

    //Update the Publishing Web.
    publishingWeb.Update();
    }
} 

Remember to pass the full relative path to the pageName. For example, pageName should be "/Subsite/Pages/MyNewWelcome.aspx" if your welcome page resides in a Page library of the subsite.

You might be interested in:
  • SharePoint 2007 Test Data Population Tool
  • SHAREPOINT DESIGNER 2007 IS NOW FREE!
  • Programmatically Delete all items from a SharePoint List
  • SharePoint - Add or Delete Site Column reference from Content Types
  • Review of: SharePoint Content Deployment Wizard
  • Discussion

    2 comments for “Set the SharePoint Welcome Page through code”

    1. Hi Praveen,

      Thanks for your post. It helped me!

      Posted by Raghavan | April 8, 2009, 8:01 am
    2. Thanks Raghavan. I am gald it was of help to you.

      Posted by Praveen Modi | April 8, 2009, 8:11 am

    Post a comment

    Spam Protection by WP-SpamFree Plugin

      Locations of visitors to this page
    View Praveen Modi's profile on LinkedIn

    Recent Comments

    • fred: The above mentioned tips are helpful. However, by the use of a third-party caching solution for SharePoint you...
    • Ramiz Uddin: Praveen, I would need your help. I’m new on sharepoint and very much confused with its deployment...
    • Maarten: Hi! I tried your code, it works great. However, I don’t see the created folder in explorer view. How...
    • Praveen Modi: Juan, seems like it should work but I haven’t tried it. I will give it a try and will update the...
    • Juan Larios: couldn’t you just do: SPFolderCollection collection = site.Lists["Site Collection...