[英]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.