我正在将用户写入 SharePoint 列表。
我读到 SharePoint 用户字段内部有一个类似这样的字符串:userId;#userLoginName
在写入用户字段时,我尝试以相同的方式进行格式化,例如,当我写入此字符串时,它会起作用:9;#i:0#.f|membership|[email protected] /cdn-cgi/l/email-protection
但奇怪的是(至少对我来说)9;#
似乎有效,甚至9
。即使我没有通过userLoginName
全部信息,loginId
似乎足以让它识别我正在谈论的用户。
这似乎意味着在写入 SharePoint 用户字段时,您只需要 id 和userLoginName
,或者事实上,之后的所有内容loginId
是无关紧要的。
我的推理正确吗?或者如果我忽略 userLoginName 信息,可能会出现意想不到的后果?
您的假设是正确的,在为用户字段指定值时,只有用户 ID 是强制属性。
但是由于SP.FieldUserValue 对象 http://msdn.microsoft.com/en-us/library/office/jj246963%28v=office.15%29.aspx用于存储用户字段的值,建议使用该对象获取和设置值,如下例所示:
var ctx = SP.ClientContext.get_current();
var web = ctx.get_web();
var lists = web.get_lists();
var list = lists.getByTitle(listTitle);
var item = list.getItemById(itemId);
var assignedToVal = new SP.FieldUserValue();
assignedToVal.set_lookupId(11); //specify User Id
item.set_item(fieldName,assignedToVal);
item.update();
ctx.executeQueryAsync(
function() {
console.log('Updated');
},
function(sender,args) {
console.log('An error occurred:' + args.get_message());
}
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)