2011-05-25 43 views
0

任何想法如何使用代碼將值注入List/Doc Lib項目的Enterprise Keywords列?未在SharePoint 2010中更新的企業關鍵字

嘗試了以下,它沒有給出任何錯誤,但該列不會更新,而標題做。

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(); 
    } 
} 

在這段代碼,歌劇關鍵字先前已加,我已經爲利用公代碼提取正確的ID檢查它反對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"; 
+0

這個工作。我正在使用TaxonomySession.GetTerms(...)。 – 2011-05-26 11:51:28