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 \用户)
希望它能帮助!
答
你可以试试:
$().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);
});
+1 - 这肯定会帮助别人。 – 2011-04-04 20:36:35
我花了数小时试图实现类似于下面的vvk解决方案。我总是收到一个空白的字符串。在我即将放弃整个事情之前,我发现了这个解决方案。奇迹般有效!!! – Weston 2014-07-16 19:55:36