如何获取SharePoint 2010网站的默认/欢迎页面?

时间:2013-03-28 16:16:31

标签: c# sharepoint

我是SharePoint 2010编码Web部件的新手。我正在尝试弄清楚如何在给定URL的情况下获取SharePoint站点的登录页面。

实施例。我给出了函数http://www.yahoo.com,我得到了http://www.yahoo.com/pages/default.aspx

这是迄今为止的功能:

private string GetSPSiteUrl(string u) {
    var siteurl = string.Empty;

    using (SPSite site = new SPSite(u)) {
        using (SPWeb web = site.OpenWeb()) {
            siteurl = web.Url;
        }
    }

    return siteurl;
}

该函数只返回我现在给出的内容,这是没用的。

任何帮助都会很棒。谢谢!

3 个答案:

答案 0 :(得分:6)

更简单的方法,无需点击。

这为您提供直接的" WelcomePage"网址:

web.RootFolder.WelcomePage

如果您需要实际项目:

SPListItem welcomePage = web.GetFile(web.RootFolder.WelcomePage).Item;

答案 1 :(得分:3)

确保匿名用户可以使用它:

public static string GetWelcomePageUrl(SPWeb web)
    {
        if (web.DoesUserHavePermissions(SPBasePermissions.BrowseDirectories))
        {
            return web.RootFolder.WelcomePage;
        }
        string welcomePage = string.Empty;
        SPSecurity.RunWithElevatedPrivileges(delegate
        {
            using (SPSite sPSite = new SPSite(web.Site.ID))
            using (SPWeb sPWeb = sPSite.OpenWeb(web.ID))
            {
                welcomePage = sPWeb.RootFolder.WelcomePage;
            }
        });
        return welcomePage;
    }

答案 2 :(得分:-3)

也许this帖子中的指导会有所帮助。