SharePoint 2010使用SPServices获取用户ID

问题描述:

我正在将SharePoint与SPServices jQuery库一起使用,并且我正在使用SPGetCurrentUser函数。但是,它似乎只是返回没有ID的登录用户名。例如:SharePoint 2010使用SPServices获取用户ID

DOMAIN\user

我需要整个帐户名称与编号:

1;#DOMAIN\user

如果只是返回ID我可以连接两个在一起的方式。但我找不到它。

最终我试图给当前用户分配一个列表项。如果有一种方法可以在没有身份证的情况下做到这一点,我也会接受这种可能性。谢谢!

好吧,我想通了:

$().SPServices({ 
    operation: "GetUserInfo", 
    async: false, 
    userLoginName: $().SPServices.SPGetCurrentUser(), 
    completefunc: function (xData, Status) { 
     $(xData.responseXML).find("User").each(function() { 
      curUserId = $(this).attr("ID"); 
      curUserName = $(this).attr("Name"); 
      curFullUserName = $(this).attr("ID")+";#"+$(this).attr("Name"); 
     }); 
    } 
}); 

这个小功能将创建三个瓦尔:

  • curUserId =当前用户的ID(例:1)
  • curUserName =当前用户名称(例如:DOMAIN \ user)
  • curFullUserName = ID和名称组合在SP格式(例如:1; #DOMAIN \用户)

希望它能帮助!

+2

+1 - 这肯定会帮助别人。 – 2011-04-04 20:36:35

+0

我花了数小时试图实现类似于下面的vvk解决方案。我总是收到一个空白的字符串。在我即将放弃整个事情之前,我发现了这个解决方案。奇迹般有效!!! – Weston 2014-07-16 19:55:36

你可以试试:

$().SPServices.SPGetCurrentUser({ 
     fieldName: "ID" 
    }); 
+0

试过了,我只是得到一个空字符串。 – skinneejoe 2011-04-04 18:28:29

$(xData.responseXML).find("PropertyData > Name:contains('Name')").each(function() { 
Name = $(this).parent().find("Values").text(); 
alert(Name); 
}); 

Please click here more details