Set the Welcome Page in SharePoint through Code

默认情况下,SharePoint使用sitepagesHome.aspx作为welcome page,但有时我们需要使用定制页面作为welcome page。在SharePoint中, 设置Welcome Page的方式跟Web是否Publish有关,即SharePoint Server Publishing Infrastructure是否启动。

1. SharePoint Server Publishing Infrastructure这个feature没启动时的设置方式:

SPFolder rootFolder = web.RootFolder;
rootFolder.WelcomePage = "SitePages/customHomePage.aspx";
rootFolder.Update();
 
2.如果SharePoint Server Publishing Infrastructure已经启动,则使用一下方式进行设置,否则虽然后台代码能够设置成功,但是页面还是会报错误:The DataSourceID of 'TopNavigationMenu' must be the ID of a control of type IHierarchicalDataSource
  if (PublishingWeb.IsPublishingWeb(web))
   {
                    PublishingWeb publishingWeb = PublishingWeb.GetPublishingWeb(web);
                    SPFile welcomeFile = web.GetFile(squarePath);

                    publishingWeb.DefaultPage = welcomeFile;
                    publishingWeb.Update();
                }
               
原文地址:https://www.cnblogs.com/snailJuan/p/3361304.html