C# 在Bot框架中选择该选项后,自适应卡将再次显示

C# 在Bot框架中选择该选项后,自适应卡将再次显示,c#,botframework,chatbot,C#,Botframework,Chatbot,我正在开发一个聊天机器人,并在其中使用了自适应卡 当我从一张自适应卡中选择该选项并单击“提交”时,我看不到它的值,但在它的正下方我得到了另一张自适应卡。。见下图: 我试图做的是,我试图在用户端显示所选值作为对Bot卡的回复,但当我选择值时,该卡在单击或提交时再次显示 我随身携带此代码: protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, Ca

我正在开发一个聊天机器人,并在其中使用了自适应卡

当我从一张自适应卡中选择该选项并单击“提交”时,我看不到它的值,但在它的正下方我得到了另一张自适应卡。。见下图:

我试图做的是,我试图在用户端显示所选值作为对Bot卡的回复,但当我选择值时,该卡在单击或提交时再次显示

我随身携带此代码:

protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
{
    Logger.LogInformation("Running dialog with Message Activity.");

    var activityReply = turnContext.Activity;
    if(turnContext.Activity.Value != null)
    {
        activityReply.Text = $"You chose: {turnContext.Activity.Value}";
    }

    // Run the Dialog with the new message Activity.
    await Dialog.RunAsync(turnContext, ConversationState.CreateProperty<DialogState>("DialogState"), cancellationToken);
}
messageActivityAsync上的受保护覆盖异步任务(iTurContext turnContext,CancellationToken CancellationToken)
{
Logger.LogInformation(“运行带有消息活动的对话框”);
var activityReply=turnContext.Activity;
if(turnContext.Activity.Value!=null)
{
activityReply.Text=$“您选择:{turnContext.Activity.Value}”;
}
//使用新消息活动运行对话框。
wait Dialog.RunAsync(turnContext,ConversationState.CreateProperty(“DialogState”),CancelationToken);
}
我的瀑布步骤是这样的:

private async Task<DialogTurnResult> UIExperienceStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
{
    var cardAttachment = new Attachment();
    cardAttachment = CreateAdaptiveCardAttachment(); // this is the method where I am loading the adaptive card

    return await stepContext.PromptAsync("AdaptiveCardPrompt",
    new PromptOptions
    {
        Prompt = (Activity)MessageFactory.Attachment(new Attachment
        {
            ContentType = CreateAdaptiveCardAttachment().ContentType,
            Content = cardAttachment.Content
        }),
    }, cancellationToken);

}
专用异步任务UIExperienceStepAsync(WaterCallStepContext stepContext,CancellationToken CancellationToken)
{
var cardAttachment=新附件();
cardAttachment=CreateAptiveCardAttachment();//这是我加载自适应卡的方法
返回wait wait stepContext.PromptAsync(“AdaptiveCardPrompt”,
新提示
{
Prompt=(活动)MessageFactory.Attachment(新附件
{
ContentType=CreateAptiveCardAttachment().ContentType,
Content=cardAttachment.Content
}),
},取消令牌);
}
请注意:我正在使用Bot框架v4


我在这里遗漏了什么?

看起来您的提示可能是在重新提示,但您没有告诉我们它是什么类型的提示,也没有向我们提供任何可能帮助您的信息,也没有提出任何问题表明您正在尝试做什么。考虑链接到你正在跟随的任何教程或样本,并提供更多相关的代码。UIExperienceStepAsync是一种瀑布式方法。我只是想显示所选的值。也就是说,当我从该卡中选择任何选项时,其值应该在用户端可见。我知道,我们可以在OnMessageActivityAsync中捕获用户的响应。所以我想要的是,当我从卡中选择任何值时,它应该在用户端显示所选值作为答复。@KyleDelaney,我已经编辑了我的问题,说明了我的期望。继续编辑您的问题,以包含构建和添加“AdaptiveCardPrompt”对话框的代码。