2013-03-28 5 views
0

Я новичок в веб-частях кодирования SharePoint 2010. Я пытаюсь выяснить, как получить целевую страницу сайта SharePoint с учетом URL-адреса.Как получить страницу по умолчанию/приветствия сайта SharePoint 2010?

Ex. Я даю функцию 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

Возможно, руководство в this нить поможет.

6

Простой подход, не требующий щелчка.

Это дает прямой "WelcomePage" URL:

web.RootFolder.WelcomePage 

Если вам нужен фактический деталь:

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

Чтобы гарантировать, что анонимные пользователи могут получить его использовать:

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; 
    } 
Смежные вопросы