我是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;
}
该函数只返回我现在给出的内容,这是没用的。
任何帮助都会很棒。谢谢!
答案 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帖子中的指导会有所帮助。