从Sharepoint中获取当前用户的名字和姓氏

时间:2017-03-22 08:45:38

标签: c# sharepoint sharepoint-2013

如何在sharepoint中获取当前用户的名字和姓氏? 我的猜测是使用UserProfile属性,但我不能让它工作。我需要一个nugetpackage吗?但我没有从我的虚拟机器上网,所以我不能这样做。

3 个答案:

答案 0 :(得分:1)

您可以创建UserCollection或User变量。然后你可以用“”分割标题文本。这将帮助您获得名字,姓氏和MiddleName。

   UserCollection managerGroupUsers = _managerGroupName.Users;                         
                        clientContext.Load(managerGroupUsers);
                        clientContext.ExecuteQuery();
                        string[] Username=null;
                        foreach (User u in managerGroupUsers)
                        {
                             Username= u.Title.Split(' ');
                            string firstName = Username[0];
                            string LastName = Username[1];

                        }

答案 1 :(得分:1)

为您的站点创建clientcontext并添加以下代码        `

Group _managerGroupName=null; 
    if (clientContext != null)
                        {
                            var siteColl = clientContext.Site;
                            var web = siteColl.RootWeb;
                            GroupCollection groupColl = web.SiteGroups;`

                            clientContext.Load(siteColl);
                            clientContext.Load(web);




                            clientContext.ExecuteQuery(); 


    _managerGroupName = web.AssociatedOwnerGroup;
                                clientContext.Load(_managerGroupName);
                                clientContext.ExecuteQuery();                  
    UserCollection managerGroupUsers = _managerGroupName.Users;
            clientContext.Load(managerGroupUsers);
            clientContext.ExecuteQuery();
            string[] Username = null;
            foreach (User u in managerGroupUsers)
            {
                Username = u.Title.Split(' ');
                string firstName = Username[0];
                string LastName = Username[1];

            }     

答案 2 :(得分:0)

从您的pastebin看起来,您正在制作一个新的服务器端Web部件。所以你不需要Microsoft.SharePoint.Client。前面的示例是使用客户端对象模型完成的,但您使用的是服务器对象模型。用以下内容替换onStart()函数的内容:

SPUser currentUser = SPContext.Current.Web.CurrentUser;
string[] nameSegments = currentUser.Name.Split(' ');
this.Controls.Add(new LiteralControl("<div>First Name: " + nameSegments[0]));
this.Controls.Add(new LiteralControl("<div>Last Name: " + nameSegments[1]));