3

我正在尝试使用以下代码从 Sharepoint 2010 站点中用户的 Mysite 中获取值“Office”:

SPSite site = SPContext.Current.Site;

      SPServiceContext serviceContext = SPServiceContext.GetContext(oSite);

        UserProfileManager manager = new UserProfileManager(serviceContext);

          UserProfile profile = manager.GetUserProfile(oUser.ToString());
                                        var Office = profile[PropertyConstants.Office].Value;
                                        var faxnum= profile[PropertyConstants.fax].Value;

尽管数字和许多其他值都可以正常工作,但 Office 始终返回 Null。我相信这是因为是托管元数据,但我不确定这是问题所在。

我也尝试过相同代码的不同变体,但没有任何乐趣。

任何想法?

4

1 回答 1

2
var Office = profile[PropertyConstants.Office] != null ? profile[PropertyConstants.Office].Value : String.Empty; 

尝试先处理空值。

于 2012-07-27T14:44:43.163 回答