2015-03-07 3 views
0

Я работаю над кодом sharepoint clientobjectmodel. В папке «Сведения о пользователе» находится папка «Детали Джона». Я пытаюсь обновить 2 свойства для папки «John Details». Как это сделать?Модель объекта объекта SharePoint SharePoint Server, обновляющая свойство только одной папки

Public Void UpdateColumnsForOnlyOneFolder(maildId1,mailId2){ 
       ClientContext ctx = new ClientContext("http://mytestsite/"); 

       List list = ctx.Web.Lists.GetByTitle("User Details"); 
       Microsoft.SharePoint.Client.ListItemCollection items = list.GetItems(CamlQuery.CreateAllItemsQuery()); 
       ctx.Load(items); 
       ctx.ExecuteQuery(); 

       foreach (var item in items) 
       { 
        item["email1"] = mailId1;    
        item["email2"] = mailId2;    
        item.Update(); 
       } 
       ctx.ExecuteQuery(); 
} 
+0

почему стрелка вниз? Любая ошибка с моего конца? – Kurkula

+1

Пожалуйста, попробуйте изменить свой вопрос. Это непонятно. – NLV

ответ

2

Если я правильно понял ваш вопрос, вы хотели бы обновить свойства элемента списка списка. Если да, то вы могли бы рассмотреть следующий подход:

Пример

using (var ctx = new ClientContext(webUri)) 
{ 
    var web = ctx.Web; 

    var folder = web.GetFolderByServerRelativeUrl("/site/Documents/folder/sub folder"); 
    var listItem = folder.ListItemAllFields; 
    listItem["PropertyName"] = "PropertyValue"; 
    listItem.Update(); 
    ctx.ExecuteQuery(); 
} 
+0

Это свойство - id. Можем ли мы использовать это свойство папки для использования для уведомления точки обмена? – Kurkula

+1

Запрос. Обычно тип содержимого папки закрывается Microsoft. Мне интересно, есть ли у вас эти столбцы электронной почты для редактирования, когда вы используете браузер? – Godwin

+0

Это будет работать только с Sharepoint 2013+ в 2010 году. ListItemAllFields не отображается для папок. – Brlja

1

Вот код, который будет обновлять только элементы из одной папки

Public Void UpdateColumnsForOnlyOneFolder(maildId1,mailId2){ 
 
       ClientContext ctx = new ClientContext("http://mytestsite/"); 
 

 
       List list = ctx.Web.Lists.GetByTitle("User Details"); 
 
\t   CamlQuery spQuery = CamlQuery.CreateAllItemsQuery(); 
 
       spQuery.FolderServerRelativeUrl = "Enter Relative URL TO FOLDER" // Example "/managedpath/site/Lists/listname/Folder Name" 
 
       Microsoft.SharePoint.Client.ListItemCollection items = list.GetItems(spQuery); 
 
       ctx.Load(items); 
 
       ctx.ExecuteQuery(); 
 

 
       foreach (Microsoft.SharePoint.Client.ListItem item in items) 
 
       { 
 
        item["email1"] = mailId1;    
 
        item["email2"] = mailId2;    
 
        item.Update(); 
 
       } 
 
       ctx.ExecuteQuery(); 
 
}

Пожалуйста, отметьте, как ответ, если это работает для вас.

Смежные вопросы