#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(…).