默认情况下,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 IHierarchicalDataSourceif (PublishingWeb.IsPublishingWeb(web)) { PublishingWeb publishingWeb = PublishingWeb.GetPublishingWeb(web); SPFile welcomeFile = web.GetFile(squarePath); publishingWeb.DefaultPage = welcomeFile; publishingWeb.Update(); }