如何在不使用强类型[Kontent Delivery SDK .NET]的情况下以富文本格式获取组件对象

问题描述 投票:1回答:1

作为标题,如果不使用强类型,我找不到如何以富文本格式获取组件对象。

DeliveryItemListingResponse listingResponse = await kentontClient.GetItemsAsync(
     new InFilter("system.type", "property")
);

foreach(var item in listingResponse.Items)
{
     var spec = item.GetLinkedItems("d3cb9f23_7684_0174_0b8d_6320bb61cc62");
}

它引发异常。组件d3cb9f23_7684_0174_0b8d_6320bb61cc62对象存在于私有成员_linkedItemsSource中。我猜想GetLinkedItems仅在其元素下搜索。

有什么办法可以得到它?

参考:https://github.com/Kentico/kontent-delivery-sdk-net/wiki/String-based-rendering-of-items-in-Rich-text

.net sdk components richtext kentico-kontent
1个回答
0
投票

是,绝对。

GetLinkedItems需要包含链接项的元素的代号。 ->不是特定链接项目的代号。 (尽管,这种方法可能很方便。您可以通过在回购中提交问题来请求它:https://github.com/Kentico/kontent-delivery-sdk-net/issues

您想做的是:

var linkeditems = item.GetLinkedItems("element_codename");
var yourDesiredLinkedItem = linkeditems.Where(i => i.System.Codename == "d3cb9f23_7684_0174_0b8d_6320bb61cc62");
© www.soinside.com 2019 - 2024. All rights reserved.