如何使用Adaptive Cards在Teams中显示选中的下拉选项
解决Adaptive Card提交后显示选中选项的问题
我正在用Adaptive Card给用户展示下拉列表,基于Bot Framework开发,点击提交按钮后想在Teams中显示用户选中的选项,我知道需要用到捕获数据的UserInput ID,但不清楚Action.Submit的value该如何填写,相关JSON代码如下:
"items": [{ "type": "Input.ChoiceSet", "style": "compact", "id": "UserInput", "choices" : categories }, { "type": "ActionSet", "actions": [{ "type": "Action.Submit", "title": "Confirm", "data": { "msteams": { "type": "imBack", "value": ????? } } } ]
具体处理方案
- 无需手动在
imBack的value中指定选中值,Bot Framework会自动捕获Adaptive Card内所有输入控件的数据。用户点击提交后,Bot会收到包含UserInput字段的活动对象,该字段的值就是用户选中的选项。 - 如果要通过
imBack直接返回选中值,可使用Adaptive Card的数据绑定语法,直接引用UserInput的ID:"data": { "msteams": { "type": "imBack", "value": "{{UserInput}}" } } - 在Bot的处理逻辑中,你可以从提交的活动数据里提取
UserInput的值,再回复给用户,示例代码(C#):if (turnContext.Activity.Value is JObject value) { var selectedOption = value["UserInput"].ToString(); await turnContext.SendActivityAsync($"你选中的选项是:{selectedOption}"); }
内容的提问来源于stack exchange,提问作者Ashika
相关产品推荐
相关产品推荐

