![](/img/trans.png)
[英]SharePoint 2010 - MetroTabs & SpServices . All Lists get rendered in first TAB
[英]SharePoint 2010 use SPServices to get a users ID
我正在使用SharePoint与SPServices jQuery库,我正在使用SPGetCurrentUser
函数。 但是,它似乎只返回没有ID的登录用户名。 例:
DOMAIN\\user\u003c/code>
我需要带有ID的整个帐户名称:
1;#DOMAIN\\user\u003c/code>
如果只是为了返回ID,我可以将两者连接在一起。 但我找不到它。
最终我正在尝试将列表项分配给当前用户。 如果有一种方法可以在没有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");
});
}
});
这个小功能将创建三个变量:
希望能帮助到你!
你可以试试:
$().SPServices.SPGetCurrentUser({
fieldName: "ID"
});
$(xData.responseXML).find("PropertyData > Name:contains('Name')").each(function() {
Name = $(this).parent().find("Values").text();
alert(Name);
});
建立在skinneejoe的答案上,它将返回当前用户的ID; 要根据其登录信息(即域\\用户名)查找其他用户的ID,只需添加以下逻辑:
function getUserIdByUsername(login) { var user = {}; var params = { operation: "GetUserInfo", async: false, completefunc: function (xData, Status) { $(xData.responseXML).find("User").each(function () { user.curUserId = $(this).attr("ID"); user.curUserName = $(this).attr("Name"); user.curFullUserName = $(this).attr("ID") + ";#" + $(this).attr("Name"); }); } }; if (login != null) { params.userLoginName = login; } else { params.userLoginName = $().SPServices.SPGetCurrentUser(); } $().SPServices(params); return user; } getUserIdByUsername('DOMAIN\\\\User')
注意:Userlogin应该与'DOMAIN \\\\ User'格式匹配,请注意第二个转义反斜杠。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.