Carousel卡中Hero卡的CardAction无法作为可操作按钮使用

时间:2017-07-20 13:03:22

标签: c# .net botframework

我已尝试将ImBack作为值字段中的动作类型,我正在获取文本。当我点击Hero卡时,我现在点击后显示代码中写入的值,问题是文本应作为方法中的值传递,以便在单击该方法后调用该方法。请提供解决方案。

public static IList<Attachment> GetCardsAttachments(IDialogContext context)
        {
            return new List<Attachment>()
            {
 GetHeroCard(
                    "NoSQL",
                    "Blazing fast, planet-scale NoSQL",
                    "NoSQL service for highly available, globally distributed apps—take full advantage of SQL and JavaScript over document and key-value data without the hassles of on-premises or virtual machine-based cloud database options.",
                    new CardImage(url: "https://docs.microsoft.com/en-us/bot-framework/media/how-it-works/architecture-resize.png"),
                    new CardAction(ActionTypes.ImBack, "Click here", value: "see the below options:")),
};
}  

预期行为

从上面的代码中,我得到的按钮名称为&#34;点击此处&#34;点击它后,我的输入被给予机器人&#34;请参阅以下选项:&#34;,之后我想启动一个功能。 我希望将值传递给函数。所以我可以进一步处理它。 请告诉我如何使用CardAction的这个值。

1 个答案:

答案 0 :(得分:0)

点击卡片按钮只会发送一条新消息,它会点击对话框中的MessageReceived方法。要根据按钮消息执行不同的操作,您必须检测即将发送的消息是否为“请参阅以下选项:”,如果是,则使用PromptDialog

类似的东西:

var message = await activity;

if (message.Text.ToLower() = ""see the below options:")
{
}