在C#TBB中:如何将多个SingleLineTextField拆分为单独的字符串

Hen*_*ker 4 tridion tridion2009

我在Tridion中有一个可以有多个值的纯文本字段.itemtype是SingleLineTextField.

在TBB代码中,我有以下内容(删除了非必要部分):

ItemFields itemFields = new ItemFields(folder.Metadata, folder.MetadataSchema);

foreach (ItemField itemField in itemFields)
{
    string itemFieldValue = string.Empty;
    switch (Utilities.GetFieldType(itemField))
    {
        case FieldType.SingleLineTextField:
            itemFieldValue = itemField.ToString();
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,两个条目的结果只是两个字符串,其中包含一个字符行.

String A
String B
Run Code Online (Sandbox Code Playgroud)

使用的方法是通用的,也适用于其他字段,所以我一直在寻找一些方法来确定SingleLineTextField中是否有更多的值.

Nun*_*res 7

您可以将字段SingleLineTextField强制转换为类型,然后遍历Values集合,这些内容如下:

SingleLineTextField field = (SingleLineTextField)itemField;
foreach(string value in field.Values)
{
    // do something with value
}
// or if all you want is the count of values
int i = field.Values.Count;
Run Code Online (Sandbox Code Playgroud)