繁体   English   中英

下拉自适应卡 - BOT 框架

[英]Drop down on adaptive card - BOT framework

为了明智地显示假日列表城市,我正在创建一张自适应卡片。 在自适应卡上,将有一个带有城市列表的下拉菜单,根据选择我需要显示所选城市的假期列表。 我无法找到如何从下拉列表中获取选定的值。 我尝试了类似下面的方法,但它只给了我第一个值,这是我在渲染卡片时在下拉列表中选择的 -

var card = new AdaptiveCard();

try
{
    card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 0))
    {
        Body =
        {
            new AdaptiveTextBlock("My Holiday List - " + userCity),
            new AdaptiveTextBlock("Please select city:"),

            new AdaptiveChoiceSetInput
            {
                Choices = list,
                Id = "CountryOrganizationCode",
                Style = AdaptiveChoiceInputStyle.Compact,
                Value = "Delhi",
                // IsMultiSelect = false,
            },
        },
    };

    card.Actions = new List<AdaptiveAction>
    {
        new AdaptiveShowCardAction
        {
            Title = "View Holiday List ",
            Type =  "Action.ShowCard",
            Card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 0))
            {
                Body =
                {
                    new AdaptiveTextBlock()
                    {
                        Text = holidaylist.Where(i => i.Key == ((AdaptiveCards.AdaptiveChoiceSetInput)card.Body[2]).Value).FirstOrDefault().Value.ToString(),
                        Wrap = true,
                    },
                },
            },
        },
    };
}

从我对另一个问题的回答:

如果您使用 Web 聊天,则只能扩展自适应卡片功能,因此您将无法响应此下拉列表中的事件,并且您将无法在用户填写卡片时修改卡片。 您需要让用户 select 成为一个城市,然后单击提交按钮。 虽然 Teams 确实允许消息更新,因此您可以更新卡片以响应提交操作,但发送带有假期列表的全新卡片可能会更好、更容易。

这意味着你只能在 Web Chat 中做你想做的事情,即使那样也很困难。 由于您需要 Teams 的解决方法,因此您也可以将该解决方法用于 Web 聊天。

您将无法让 Adaptive Cards 在 Skype 中工作,因为它不是Adaptive Cards 支持的平台之一 一般来说,Skype 机器人也被弃用了,所以我的建议是放弃 Skype 作为一个频道,而只使用另外两个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM