1

我需要将文档添加到文档库(本地 SharePoint 2016)并更新元数据。我已拼凑代码以添加文档,并成功更新多项选择字段,但我需要更新 SharePoint 从 SQL 数据库接收的外部数据字段。这可能吗?

我的更新代码如下所示:

    public class MetaData
    {
        public string Field { get; set; }

        public string Value { get; set; }
    }

    private static bool UpdateDocument(string fileName, List<MetaData> metadata)
    {
        bool _result = false;

        // Create context
        using (SP.ClientContext _context = new SP.ClientContext(_url))
        {
            // Get library
            SP.List _library = _context.Web.Lists.GetByTitle(_libraryName);

            // Get root folder of library
            SP.Folder _rootFolder = _library.RootFolder;

            // Load data
            _context.Load(_rootFolder);
            _context.ExecuteQuery();

            // Caculate file url
            string fileUrl = string.Format("{0}/{1}", _rootFolder.ServerRelativeUrl, fileName);

            SP.File _file = _context.Web.GetFileByServerRelativeUrl(fileUrl);
            _context.Load(_file);
            _context.ExecuteQuery();

            SP.ListItem _item = _file.ListItemAllFields;
            _context.Load(_item);
            _context.ExecuteQuery();

            foreach (MetaData _mdata in metadata)
            {
                SP.Field _field = _library.Fields.GetByTitle(_mdata.Field);
                _context.Load(_field);
                _context.ExecuteQuery();

                _item[_field.InternalName] = _mdata.Value;
                _item.Update();
                _context.ExecuteQuery();
            }

            _result = true;
        }

        return _result;
    }

仅供参考:我需要更新的字段称为“客户”

我可以设置字段本身,但当然,该值并不是真正的“那里”,尽管它已显示。我已经阅读了几篇关于如何从运行 SharePoint 的机器上执行此操作的文章,但必须有一种方法可以从客户端执行此操作。

4

0 回答 0