sharepoint - 将 SharePoint 用户写入 SharePoint 列表中的用户字段的正确方法

标签 sharepoint sharepoint-2013 sharepoint-list csom sharepoint-online

我正在将用户写入 SharePoint 列表。

我读过 SharePoint 用户字段中有一个这样的字符串:userId;#userLoginName
在写入用户字段时,我尝试以相同的方式进行格式化,例如,当我编写此字符串时,它可以工作:9;#i:0#.f|membership|ectropy@example.org
但奇怪的是(至少对我来说)是 9;#似乎工作甚至9 .即使我没有通过userLoginName全部信息,loginId似乎足以让它识别出我在谈论哪个用户。

这似乎意味着在写入 SharePoint 用户字段时,您只需要 id 和 userLoginName ,或者实际上是 loginId 之后的所有内容无关紧要。

我在这里的推理是否正确?或者,如果我不提供 userLoginName 信息,可能会产生意想不到的后果?

最佳答案

您的假设是正确的,在为 User 字段指定值时,只有 User Id 是必需属性。

但由于 SP.FieldUserValue object用于存储 User 字段的值,建议使用此对象获取和设置值,如下例所示:

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());
    }
);

关于sharepoint - 将 SharePoint 用户写入 SharePoint 列表中的用户字段的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24271440/

相关文章:

html - 在编辑模式下向内容编辑器 Web 部件添加更宽的图像使其重叠

c# - Sharepoint 列表 caml 查询问题,因为它超过了阈值限制

javascript - Sharepoint 2013 CSOM 从自定义 ListView 项目表单获取项目属性

css - SharePoint ListView JSON 格式悬停颜色

c#-4.0 - 使用客户端上下文和 CAML 查询删除共享点列表中的所有行

c# - 如何使用C#检索同一域中的所有Office 365用户?

使用 Visual Studio 进行 SharePoint 2010 开发

css - Sharepoint 2013 任务列表中元素的样式

sharepoint - sharepoint 2010 中母版页的最大控制数量

html - 什么模式在 Sharepoint 2007 中呈现 iframe(即怪异模式)?