我正在为Tridion 2011 SP1创建.NET TBB.我在组件中有两个字段,其中一个是单值的,另一个是嵌入式模式字段.
要检索单值字段,我已经使用过了
string singlefield= package.GetValue("Component.Fields.singlefield");
Run Code Online (Sandbox Code Playgroud)
但是要参考我用过的多值字段.
string multi= package.GetValue("Component.Fields.multi.values");
Run Code Online (Sandbox Code Playgroud)
但它没有取得价值.
请帮助一种方法.
我不会将package.GetValue用于组件中的任何值.相反,使用这样的东西:
// Get the component
Component c = (Component)engine.GetObject(package.GetByName(Package.ComponentName));
// Get the fields
ItemFields fields = new ItemFields(c.Content, c.Schema);
// get our Embedded schema field
EmbeddedSchemaField emb = (EmbeddedSchemaField)fields["emb"];
// Loop
foreach (ItemFields embeddedfields in emb.Values)
{
foreach (ItemField field in embeddedfields)
{
var tField = field as TextField;
if (tField != null)
{
string something = tField.Value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1675 次 |
| 最近记录: |