【发布时间】:2021-01-09 18:42:40
【问题描述】:
我们过去可以在如下对话框中使用英雄卡的选择提示作为提示,但由于某种原因,这已停止工作。卡片仍然正确显示,但是当您选择一个选项时,提示会一遍又一遍地重试。
var card = new HeroCard
{
Text = "Please choose an option.",
Buttons = new List<CardAction>()
};
foreach (var cl in input.ComplexList)
{
string objString = JsonConvert.SerializeObject(cl.complexObject);
card.Buttons.Add(new CardAction(
ActionTypes.PostBack,
cl.Name,
null,
objString,
objString,
objString));
}
card.Buttons.Add(new CardAction(
ActionTypes.PostBack,
"Cancel",
null,
"Cancel",
"Cancel",
"Cancel"));
var promptOptions = new PromptOptions
{
Prompt = (Activity)MessageFactory.Attachment(card.ToAttachment())
};
return await stepContext.PromptAsync(nameof(ChoicePrompt), promptOptions, cancellationToken);
我看到我们现在可以使用AddDialog(new ChoicePrompt(nameof(ChoicePrompt)) { Style = ListStyle.HeroCard }); 定义提示的样式
现在我的问题是我使用英雄卡在按钮值中隐藏了一些额外信息,以便在瀑布对话框的下一步中使用,这不再是一个选项,还是我错过了什么?
如果我将选择提示样式设置为 HeroCard 并删除指定的英雄卡,那么选择只允许向用户显示的文本。
【问题讨论】:
-
您使用的是什么版本的核心?它改变了吗?请参阅:docs.microsoft.com/en-us/dotnet/core/compatibility/2.2-3.1
-
.net Core 3.1,但 botframework 不在重大更改列表中。
-
对于您的应用程序有什么变化可能并不明显。
标签: c# .net-core botframework azure-bot-service