Sharepoint 2016 локальные детали Элемент Версия поля информации

Я работаю над CSOM SharePoint 2016, чтобы получить историю версий элементов списка. к сожалению, я не получаю значения поля. пожалуйста, найдите код ниже.

       var file = item.File;
            var versionFiles = file.Versions;
            var fa = file.ListItemAllFields;

            clientContext.Load(fa);
            clientContext.Load(file);
            clientContext.Load(versionFiles);
            clientContext.ExecuteQuery();


            if (null != versionFiles)
            {
                var fileVersion = file.Versions[5];
                SP.File oldFile =web.GetFileByServerRelativeUrl("/sites/site/_vti_history/1234/list1/file1.pdf");
                var allField = oldFile.ListItemAllFields;
                clientContext.Load(allField);


             }

1 ответ

Решение

Вы можете получить метаданные истории версий из Lists.asmx.

Образец кода:

var web = clientContext.Web;
                List spList = clientContext.Web.Lists.GetByTitle("MyDoc");                
                var item = spList.GetItemById(43);
                clientContext.Load(spList);
                clientContext.Load(item);
                clientContext.ExecuteQuery();

                #region customList
                Lists.Lists listService = new Lists.Lists();
                listService.Credentials = System.Net.CredentialCache.DefaultCredentials;

                listService.Url = siteUrl + "/_vti_bin/lists.asmx";
                XmlNode nodeAttachments = listService.GetVersionCollection(spList.Id.ToString(), item.Id.ToString(), "Title");

                foreach (System.Xml.XmlNode xNode in nodeAttachments)
                {
                    Console.WriteLine(xNode.Attributes["Title"].Value);
                }
Другие вопросы по тегам