// 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.

Set the SharePoint Welcome Page through code

You might be interested in:

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

AWS Certified Solutions Architect
    Locations of visitors to this page
View Praveen Modi's profile on LinkedIn

Recent Comments


    Warning: Use of undefined constant comments - assumed 'comments' (this will throw an Error in a future version of PHP) in /home/customer/www/praveenmodi.com/public_html/wp-content/plugins/get-recent-comments/get-recent-comments.php on line 928

    Warning: Use of undefined constant trackbacks - assumed 'trackbacks' (this will throw an Error in a future version of PHP) in /home/customer/www/praveenmodi.com/public_html/wp-content/plugins/get-recent-comments/get-recent-comments.php on line 929