Вставить / обновить несколько значений поиска в SPListItem

В моем списке SharePoint есть столбец, который допускает несколько значений поиска. Мой элемент управления C# (внутри веб-части) позволяет пользователю выбирать несколько элементов из списка. Я разбил эти значения на массив - каждый член массива является выбранным значением, которое необходимо обновить в том же столбце SPListItem.

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

Куда я иду не так?

SPFieldLookupValueCollection MyCollection = new SPFieldLookupValueCollection();
for (int i = 0; i < MyArrayOfSelections.Length; i++)
{
   if (MyLookupList["LookupColumn"].ToString() == MyArrayOfSelections[i].ToString())
   {
      MyID = int.Parse(MyLookupList[i]["ID"].ToString());
      SPFieldLookupValue thisSelection = new SPFieldLookupValue(MyID,MyArrayOfSelections[i].ToString());
      MySubCollection.Add(thisSelection);
      }
   }
   ListIWantToUpdate["ColumnWithMultipleLookupSelections"] = SubCollection;
   ListIWantToUpdate.Update();
   site.Update();
}

1 ответ

Последние строки примера кода сбивают с толку (возможно, это просто именование переменных). Если вы просто обновляете данные, вам не нужно обновлять ни SPList объект (для этого требуется разрешение "Управление списками" в конкретном списке, ни SPSite ojbect (требуется, чтобы вы были администратором или владельцем сайта). Таким образом, этот код не будет запускаться успешно для обычного пользователя.

Другие вопросы по тегам