在用 c# 编写的 Sharepoint WebPart 中,我需要找出当前用户 MySite 的 ID,或者检查当前站点是否是用户 MySite。
想法?
在用 c# 编写的 Sharepoint WebPart 中,我需要找出当前用户 MySite 的 ID,或者检查当前站点是否是用户 MySite。
想法?
我花了一个下午的时间来解决这个问题,并且已经解决了。
在引用 Microsoft.Office.Server.dll 和 Microsoft.Sharepoint.dll 后添加以下 using 语句
using Microsoft.SharePoint;
using Microsoft.Office.Server;
using Microsoft.Office.Server.UserProfiles;
然后通过执行以下操作访问用户配置文件:
ServerContext sc = ServerContext.Current;
UserProfileManager upm = new UserProfileManager(sc);
UserProfile up = upm.GetUserProfile(SPContext.Current.Web.CurrentUser.LoginName);
然后您可以通过以下方式获取 MySite 的网站集 ID (SPSite.ID):
upm.GetUserProfile(SPContext.Current.Web.CurrentUser.LoginName).ID
或站点 ID (SPWeb.ID) 通过:
upm.GetUserProfile(SPContext.Current.Web.CurrentUser.LoginName).PersonalSite.RootWeb.ID
很明显,不是真的!