現在、Sharepoint 2010およびSharepoint APIを使用して、既存のドキュメントリストを含むドキュメントライブラリを作成しています。Sharepoint 2010メタデータフィールドKey、Value
特定のドキュメントリストをループして、ドキュメントの「タイプ(メタデータフィールド)」に応じてそれらを異なるドキュメントライブラリに追加するWinFormを作成しました。タイプは、特定のドキュメントの「メタデータフィールド」を読み取ることによって決定されます。メタデータフィールドは、のHashtable
を作成することによって読まれSPFields
- 質問
文書のメタデータフィールドは、「タイプ」をdeterminするために読み込まれると、私はMetadatafield「タイプ」(Key)
が実際に引き出すことを実現していますKey
のための「タイプ+ TaxHTField0」とし、値が値として引き出し| GUID
ですから、例えば、それはトンから戻ったとき、私のメタデータフィールドがDoc_x0020_Type
呼び出された場合私たちは余分なcharatersを追加eleminateために、SharePointとメタデータのキーと値の両方にGUIDに設定できる設定があり、彼はそれがDoc_x0020_TypeTaxHTField0
としてこの値がちょうど'products'
する必要があります出てくるのAPIが、それは
products|21EC2020-3AEA-1069-A2DD-08002B30309D
として出てきますフィールド?
以下は、私は問題を是正するために行われますが、それは我々がこれは仕様によるもの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);
}
はい私はとにかく後になっている "Doc_x0020_Type"を含んでいます。コメントありがとう.. – Chin