0

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;
}

関数は、私が今与えたものを返すだけで、役に立ちません。

どんな助けでも素晴らしいでしょう。ありがとう!

4

3 に答える 3

8

クリックスルーする必要のない、よりシンプルなアプローチ。

これにより、直接の「WelcomePage」URL が得られます。

web.RootFolder.WelcomePage

実際の商品が必要な場合:

SPListItem welcomePage = web.GetFile(web.RootFolder.WelcomePage).Item;
于 2013-05-24T14:01:19.307 に答える
4

匿名ユーザーが確実に取得できるようにするには、次を使用します。

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;
    }
于 2016-03-11T15:19:10.623 に答える
-4

おそらく、このスレッドのガイダンスが役立つでしょう。

于 2013-03-28T16:25:08.090 に答える