开发者

Sharepoint 2010 Metadata fields Key, Value

开发者 https://www.devze.com 2023-03-26 03:33 出处:网络
I\'m currently working with Sharepoint 2010 and Sharepoint API on creating a document library with some existing document lists.

I'm currently working with Sharepoint 2010 and Sharepoint API on creating a document library with some existing document lists.

I have created a WinForm that loops through a given doc lists and then add them to diffrent document libraries depending on 'Type(A metadata field)' of the document. Type is determined by reading the "Metadata fields" for the specific document. Metadata fields are read by creating Hashtable of SPFields

  • Question

When document metadata field is read to determin the 'Type', I have realised that the Metada开发者_StackOverflowtafield 'Type'(Key) actually pulls out as 'Type+TaxHTField0' and value for the Key pulls out as value|GUID

So for example if my Metadata field is called Doc_x0020_Type when it returns from the API it comes out as Doc_x0020_TypeTaxHTField0 the value for this should be just 'products' but it comes out as

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

Is there a setting we can set in sharepoint to eleminate adding extra charaters and GUID to both Key and Value for metadata fields?

Below is what I've done to rectify the issue, but wondered if it's a setting we can set in 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);
    }


This is by design.

If you add a taxonomy field to your own contenttype (for instance named 'MyTaxField') SharePoint will autogenerate a hidden 'Notes' field that contains the label and the guid of the values you select in the UI.

This is quite helpful when using SPSiteDataQuery since it will return empty values for taxonomy fields that allow multiple values (works with single value taxonomy fields though).

The only way to get the taxonomy values is to have a for the hidden field named 'MyTaxFieldTaxHTField0'.

But as you have discovered, this field might not be formatted as youd like :).

I have not tested this, but did you check if your contenttype contains a field called "Doc_x0020_Type" (possible of type TaxonomyFieldValue(Collection))?

0

精彩评论

暂无评论...
验证码 换一张
取 消