Json 如何使用messageBack或imBack从ChoiceSet回显用户选择optionset?
我试图使用messageBack或imBack(以可能的为准)从给定的用户评级下拉列表中回显用户选择的选项。因为,我只能在messageBack值字段中添加静态文本作为值Json 如何使用messageBack或imBack从ChoiceSet回显用户选择optionset?,json,botframework,microsoft-teams,adaptive-cards,Json,Botframework,Microsoft Teams,Adaptive Cards,我试图使用messageBack或imBack(以可能的为准)从给定的用户评级下拉列表中回显用户选择的选项。因为,我只能在messageBack值字段中添加静态文本作为值 "actions": [ { "type": "Action.Submit", "title": "OK", "data": { "mst
"actions": [
{
"type": "Action.Submit",
"title": "OK",
"data": {
"msteams": {
"type": "imBack",
"value": "User selected option"
}
}
}
]
有没有一种方法可以让我从choiceset和show获得值,并在MS团队中使用messageBack
您可以在此处参考完整的JSON:
{
"type": "AdaptiveCard",
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.2",
"body": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"color": "Accent",
"text": "Rate your experience!"
},
{
"type": "TextBlock",
"separator": true,
"text": "Please rate your experience! Your feedback is very appreciated and will help improve your experience in the future. ",
"wrap": true
},
{
"type": "Input.ChoiceSet",
"id": "CompactSelect",
"label": "What color do you want? (compact)",
"style": "compact",
"isRequired": true,
"errorMessage": "This is a required input",
"placeholder": "Please choose",
"choices": [
{
"title": "⭐⭐⭐⭐⭐",
"value": "⭐⭐⭐⭐⭐"
},
{
"title": "⭐⭐⭐⭐",
"value": "⭐⭐⭐⭐"
},
{
"title": "⭐⭐⭐",
"value": "⭐⭐⭐"
},
{
"title": "⭐⭐",
"value": "⭐⭐"
},
{
"title": "⭐",
"value": "⭐"
}
]
}
],
"actions": [
{
"type": "Action.Submit",
"title": "OK",
"data": {
"msteams": {
"type": "imBack",
"value": "User selected option"
}
}
}
]
}
@user30-你能检查一下这个代码吗
var InputChoices = new List<AdaptiveChoice> {
new AdaptiveChoice() { Title = "Red",
Value = "Red" },
new AdaptiveChoice() { Title = "Green",
Value = "Green" },
new AdaptiveChoice() { Title = "White",
Value = "White" },
new AdaptiveChoice() { Title = "Black",
Value = "Black" }
};
return new AdaptiveCard()
{
Body = new List<AdaptiveElement>()
{
new AdaptiveColumnSet()
{
Columns=new List<AdaptiveColumn>()
{
new AdaptiveColumn()
{
Items=new List<AdaptiveElement>()
{
new AdaptiveTextBlock()
{
Text="Colors",
Id="colorCodeId",
Spacing=AdaptiveSpacing.None,
Wrap=true
}
}
},
new AdaptiveColumn()
{
Items=new List<AdaptiveElement>()
{
new AdaptiveChoiceSetInput()
{
Id="colorCodeId",
Spacing=AdaptiveSpacing.None,
Choices=new List<AdaptiveChoice>(InputChoices),
Style=AdaptiveChoiceInputStyle.Compact
}
}
}
}
},
},
Actions = new List<AdaptiveAction>()
{
new AdaptiveSubmitAction
{
Type = AdaptiveSubmitAction.TypeName,
Title = "Submit"
},
},
}
var InputChoices=新列表{
新的AdaptiveChoice(){Title=“Red”,
Value=“Red”},
新建AdaptiveChoice(){Title=“绿色”,
Value=“绿色”},
新的AdaptiveChoice(){Title=“White”,
Value=“White”},
新的AdaptiveChoice(){Title=“Black”,
Value=“Black”}
};
返回新的AdaptiveCard()
{
Body=新列表()
{
新的AdaptiveColumnSet()
{
列=新列表()
{
新的AdaptiveColumn()
{
Items=新列表()
{
新的AdaptiveTextBlock()
{
Text=“Colors”,
Id=“colorCodeId”,
间距=自适应间距。无,
Wrap=true
}
}
},
新的AdaptiveColumn()
{
Items=新列表()
{
新的AdaptiveChoiceSetInput()
{
Id=“colorCodeId”,
间距=自适应间距。无,
选项=新列表(输入选项),
Style=AdaptiveChoiceInputStyle.Compact
}
}
}
}
},
},
操作=新列表()
{
新的自适应submition
{
类型=AdaptiveSubmitAction.TypeName,
Title=“提交”
},
},
}
@user30-您能检查一下这个代码吗
var InputChoices = new List<AdaptiveChoice> {
new AdaptiveChoice() { Title = "Red",
Value = "Red" },
new AdaptiveChoice() { Title = "Green",
Value = "Green" },
new AdaptiveChoice() { Title = "White",
Value = "White" },
new AdaptiveChoice() { Title = "Black",
Value = "Black" }
};
return new AdaptiveCard()
{
Body = new List<AdaptiveElement>()
{
new AdaptiveColumnSet()
{
Columns=new List<AdaptiveColumn>()
{
new AdaptiveColumn()
{
Items=new List<AdaptiveElement>()
{
new AdaptiveTextBlock()
{
Text="Colors",
Id="colorCodeId",
Spacing=AdaptiveSpacing.None,
Wrap=true
}
}
},
new AdaptiveColumn()
{
Items=new List<AdaptiveElement>()
{
new AdaptiveChoiceSetInput()
{
Id="colorCodeId",
Spacing=AdaptiveSpacing.None,
Choices=new List<AdaptiveChoice>(InputChoices),
Style=AdaptiveChoiceInputStyle.Compact
}
}
}
}
},
},
Actions = new List<AdaptiveAction>()
{
new AdaptiveSubmitAction
{
Type = AdaptiveSubmitAction.TypeName,
Title = "Submit"
},
},
}
var InputChoices=新列表{
新的AdaptiveChoice(){Title=“Red”,
Value=“Red”},
新建AdaptiveChoice(){Title=“绿色”,
Value=“绿色”},
新的AdaptiveChoice(){Title=“White”,
Value=“White”},
新的AdaptiveChoice(){Title=“Black”,
Value=“Black”}
};
返回新的AdaptiveCard()
{
Body=新列表()
{
新的AdaptiveColumnSet()
{
列=新列表()
{
新的AdaptiveColumn()
{
Items=新列表()
{
新的AdaptiveTextBlock()
{
Text=“Colors”,
Id=“colorCodeId”,
间距=自适应间距。无,
Wrap=true
}
}
},
新的AdaptiveColumn()
{
Items=新列表()
{
新的AdaptiveChoiceSetInput()
{
Id=“colorCodeId”,
间距=自适应间距。无,
选项=新列表(输入选项),
Style=AdaptiveChoiceInputStyle.Compact
}
}
}
}
},
},
操作=新列表()
{
新的自适应submition
{
类型=AdaptiveSubmitAction.TypeName,
Title=“提交”
},
},
}
我测试了您的自适应卡json,您可以尝试设置输入选项的Id,并检查bot上下文的值是否定义为您选择的值,尝试使用submit Action回显值。您可以共享相同的代码吗?我是这个自适应卡和bot框架的新手,因此有时很难理解口头解决方案。我测试了您的自适应卡json,您可以尝试设置输入选项的Id,检查bot上下文的值是否定义为您选择的值,尝试使用submit Action回显值您可以共享相同的代码吗?我不熟悉这种自适应卡和bot框架,因此有时很难理解口头解决方案。