Ключевое слово Enterprise не обновляется в SharePoint 2010

#sharepoint #sharepoint-2010

#sharepoint #sharepoint-2010

Вопрос:

Есть идеи, как ввести значения в столбец ключевых слов Enterprise элемента библиотеки List / Doc с помощью кода?

Попробовал следующее, оно не выдало никакой ошибки, но этот столбец не обновился, в то время как заголовок обновился.

 using (var site = new SPSite("http://testweb"))
{
  using (var web = site.OpenWeb("testsite1"))
  {
    var list = web.Lists["testlist1"];

    var item = list.AddItem();
    item["Title"] = string.Format("Injected from code on {0}", DateTime.Now.ToString());
    item["Enterprise Keywords"] = "1;#Opera|4eed0518-9676-4afc-be20-9027b3b69e42";
    item.Update();
  }
}
  

В этом коде ключевое слово Opera было добавлено ранее, я также проверил его в списке TaxonomyHiddenList, используя код для извлечения правильного идентификатора и IdForTerm (GUID).

Чего мне здесь не хватает?

Ответ №1:

Чтобы добавить значение поля таксономии, подход немного отличается. Пожалуйста, попробуйте:

 TaxonomyField entKeyword = (TaxonomyField)item.Fields["Enterprise Keywords"];
TaxonomyFieldValue term = new TaxonomyFieldValue("1;#Opera|4eed0518-9676-4afc-be20-9027b3b69e42");
entKeyword.SetFieldValue(item,term);
  

вместо:

 item["Enterprise Keywords"] = "1;#Opera|4eed0518-9676-4afc-be20-9027b3b69e42";
  

Комментарии:

1. Это сработало. Я использую его с TaxonomySession. GetTerms(…).