【发布时间】:2019-08-09 02:49:26
【问题描述】:
尝试使用从 API 返回的 JSON 创建轮播。我正在尝试返回一个带有多个图像的轮播,您可以滚动查看所有图像。我很确定这是我缺少的一些小东西,非常感谢任何帮助。
RootObject result = JsonConvert.DeserializeObject<RootObject>(apiResponse);
var card = new HeroCard { };
List<CardImage> cardImages = new List<CardImage>();
var reply = context.Activity.CreateReply();
Attachment plAttachment;
for (int i = 0; i < 5; i++)
{
cardImages.Add(new CardImage(url: "https://image.tmdb.org/t/p/original" + result.results[i].poster_path));
}
for (int x = 0; x < 5; x++)
{
HeroCard plCard = new HeroCard()
{
Text = "Test",
Title = "Movies",
Images = cardImages,
};
plAttachment = plCard.ToAttachment();
reply.Attachments.Add(plAttachment);
}
reply.AttachmentLayout = AttachmentLayoutTypes.Carousel;
await context.SendActivityAsync(reply);
}
}
}
catch (Exception ex)
{
}
}
目前它返回具有相同图像的多个轮播:
【问题讨论】:
-
请将代码和数据添加为文本 (using code formatting),而不是图像。图片:A)不允许我们复制粘贴代码/错误/数据进行测试; B) 不允许根据代码/错误/数据内容进行搜索;和many more reasons。除了代码格式的文本之外,只有在图像添加了一些重要的东西,而不仅仅是文本代码/错误/数据传达的内容时,才应该使用图像。
-
您的每张 HeroCard 有 5 张图片,但我想您应该在每张 HeroCard 中有一张图片?你能检查一下吗?
-
更新这一行,看看,这对你有用吗?
Images = new CardImage(url: "https://image.tmdb.org/t/p/original" + result.results[x].poster_path), -
感谢@HasanMahmood 的建议,这似乎是我创建 HeroCard 的方式。我将使用修复程序更新帖子。
标签: c# json frameworks botframework bots