Поля метаданных Sharepoint 2010 Ключ, Значение - PullRequest
0 голосов
/ 03 августа 2011

В настоящее время я работаю с Sharepoint 2010 и API Sharepoint над созданием библиотеки документов с некоторыми существующими списками документов.

Я создал WinForm, которая просматривает заданные списки документов и затем добавляет их в различные библиотеки документов в зависимости от типа * (поле метаданных) документа. Тип определяется путем чтения «Поля метаданных» для конкретного документа. Поля метаданных читаются путем создания Hashtable из SPFields

  • Вопрос

Когда поле метаданных документа считывается для определения «Типа», я понял, что поле метаданных «Тип» (Key) фактически вытягивается как «Тип + TaxHTField0», а значение для Key выводится как значение | GUID

Так, например, если мое поле метаданных называется Doc_x0020_Type, когда оно возвращается из API, оно получается как Doc_x0020_TypeTaxHTField0, значение для этого должно быть просто 'products', но оно выходит как

products|21EC2020-3AEA-1069-A2DD-08002B30309D

Есть ли настройка, которую мы можем установить в sharepoint, чтобы упростить добавление дополнительных символов и GUID к ключу и значению для полей метаданных?

Ниже я сделал то, что я сделал, чтобы исправить проблему, но подумал, можно ли эту настройку установить в sharepoint

    public String GetLibrary(Hashtable itemProperties)
    {
        String typeMetaField = "Doc_x0020_TypeTaxHTField0";
        String sKey = String.Empty;
        foreach (DictionaryEntry deEntry in itemProperties)
        {
            sKey = deEntry.Key.ToString();
             if (sKey == typeMetaField){
                _type = deEntry.Value.ToString();
                string[] value = _type.Split('|');
                _type = value[0].Trim();

            }
        }

        return GetDocumentLibrary(_type);
    }

1 Ответ

0 голосов
/ 14 сентября 2011

Это специально.

Если вы добавите поле таксономии в свой собственный тип контента (например, с именем «MyTaxField»), SharePoint автоматически сгенерирует скрытое поле «Примечания», которое содержит метку и указательзначения, которые вы выбираете в пользовательском интерфейсе.

Это очень полезно при использовании SPSiteDataQuery, поскольку он возвращает пустые значения для полей таксономии, которые допускают несколько значений (хотя работает с полями таксономии с одним значением).

Единственный способ получить значения таксономии - иметь скрытое поле с именем «MyTaxFieldTaxHTField0».

Но, как вы обнаружили, это поле может быть отформатировано не так, как вы хотели бы:).

Я не проверял это, но вы проверяли, содержит ли ваш тип контента поле с именем «Doc_x0020_Type» (возможно, типа TaxonomyFieldValue (Collection))?

...