无法将所有用户保存到SharePoint列表中

问题描述 投票:0回答:1

我正在使用以下代码创建列表项:

    var context = new SP.ClientContext.get_current(); 
    var dfd = $.Deferred(); 
    var targetList = context.get_web().get_lists().getByTitle(listName);
    context.load(targetList); 
    var itemCreateInfo = new SP.ListItemCreationInformation(); 
    var listItem = targetList.addItem(itemCreateInfo);

    listItem.set_item("Title", listValues[0].Title); 
    listItem.set_item("Department", listValues[0].Department);  
    listItem.set_item("TeamMembers", listValues[0].TeamMembers);
    listItem.set_item("Notes", listValues[0].Notes);  
    listItem.update();
    context.executeQueryAsync( 
        function () { 
            var id = listItem.get_id();
            if (listValues[0].Files.length > 0) {   
                 if (fileCountCheck <= listValues[0].Files.length - 1) {                 
                     loopFileUpload(listName, id, listValues, fileCountCheck).then( 
                     function () { }, 
                     function (sender, args) { 
                         dfd.reject(sender, args); 
                     } ); 
                } 
            } 
            else { dfd.resolve(fileCountCheck);             } 
        }, 
        function (sender, args) {       }   ); 

TeamMembers是一个字符串,其中包含在人员选取器中选择的所有用户的用户标识,格式为;#564;#5454;#56;#865;#

如果仅选择一个人,这将起作用。我注意到,当选择了多个用户时,其中许多用户不会保存到列表中。

可能是什么问题?

sharepoint-2013
1个回答
0
投票

我更改了传递到用户字段的数据,如下所示:

[TeamMembers现在具有";#" + this.user1.get_id() + ";#" + this.user1.get_loginName() + ";" + this.user2.get_id() + ";#" + this.user2.get_loginName()格式的值。

使用最新格式,我可以将所有用户名成功保存到列表中。

© www.soinside.com 2019 - 2024. All rights reserved.