Мой код работает, когда я избыточно помещаю его в такие объекты, как button_click или comboBoxApp_SelectedIndexChanged, но когда я пытаюсь поместить его в централизованное место, я получаю «Имя« элементы »не существует в текущем контексте»
''' ClientContext context = new ClientContext("https://MySharePointSite/ServerMaintenance/");
List ChangeList = context.Web.Lists.GetByTitle("Server Maintenance Windows");
CamlQuery query = CamlQuery.CreateAllItemsQuery(1505);
ListItemCollection items = ChangeList.GetItems(query);
context.Load(items);
context.ExecuteQuery();'''
'foreach (ListItem listItem в элементах)' в этом примере ошибка: «Имя« элементы »не существует в текущем контексте» «Центральное расположение» = глобально доступно. Я не программист. Я админ сервера. Я уверен, что есть что-то простое, чего я просто не знаю.
Вам нужно объявить ListItemCollection items
на уровне класса и в приведенном выше коде. Вам нужно сделать items = ChangeList.GetItems(query);
Создайте статический метод для возврата объекта ListItemCollection, а затем вы можете вызывать эту функцию где угодно, вот фрагмент кода для справки:
static void Main(string[] args)
{
ListItemCollection items = GetItems();
foreach (ListItem item in items)
{
Console.WriteLine(item["Title"]);
}
}
private static ListItemCollection GetItems()
{
ClientContext context = new ClientContext("http://sp/sites/Jerry");
List ChangeList = context.Web.Lists.GetByTitle("TestList");
CamlQuery query = CamlQuery.CreateAllItemsQuery(1505);
ListItemCollection items = ChangeList.GetItems(query);
context.Load(items);
context.ExecuteQuery();
return items;
}
Большое спасибо за Вашу помощь!
Что вы подразумеваете под централизованным расположением? Какая строка кода выдает ошибку?