自适应卡中的轮播 [英] Carousel in adaptive card
本文介绍了自适应卡中的轮播的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
请指导我在MS Bot框架中创建轮播自适应卡.我正在使用.Net SDK.我尝试使用自适应卡设计器进行设计,但无法完成.
Please guide me to create carousel adaptive card in MS bot framework. I am using .Net sdk.I tried using adaptive card designer to design but couldn't do it.
推荐答案
那么,自适应卡设计器可以帮助您为一张卡创建模板.在这种情况下,您可以根据列表在循环中从创建的模板创建附件,并将每个生成的附件添加到Activity.Attachments.
Well, Adaptive card designer helps you to create template for one single card. In you case, based on your list create attachment from the created template in a loop and add each of the generated attachments to Activity.Attachments.
if(listOfReservationCardsData.Any())
{
foreach (var checkInStatusCardData in listOfReservationCardsData.OrderBy(l => Convert.ToDateTime(l.StartDate)))
{
listOfAttachments.Add(CreateAdaptiveCardAttachment(filePath, data));
}
}
if (listOfAttachments.Any())
{
turnContext.Activity.AttachmentLayout = AttachmentLayoutTypes.Carousel;
turnContext.Activity.Attachments = listOfAttachments.Take(5).ToList();
await turnContext.SendActivityAsync(turnContext.Activity, cancellationToken);
}
private static Attachment CreateAdaptiveCardAttachment(string filePath, object data)
{
var adaptiveCardJson = File.ReadAllText(filePath);
// Create a Template instance from the template payload
AdaptiveCardTemplate template = new AdaptiveCardTemplate(adaptiveCardJson);
string cardJson = template.Expand(data);
var adaptiveCardAttachment = new Attachment()
{
ContentType = "application/vnd.microsoft.card.adaptive",
Content = JsonConvert.DeserializeObject(cardJson),
};
return adaptiveCardAttachment;
}
这篇关于自适应卡中的轮播的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文