Bot Framework(.Net) - 使用PromptDialog.Choice()通过按钮发送其他参数

时间:2017-03-30 03:08:36

标签: c# .net botframework

我正在尝试使用.Net学习Bot Framework,我有一个显示按钮的应用程序,根据所选的选项,显示更多按钮或列表。我想要的是,使用按钮发送隐藏的ID /参数,以便当用户点击按钮时,我可以访问隐藏的参数。我没有使用卡片。我只是想显示按钮。谁能帮我这个?我知道这可能是一个非常基本的问题,但如果没有卡片我就找不到这个问题。

1 个答案:

答案 0 :(得分:2)

首先,幕后PromptDialog.Choice会创建一个带有多个按钮的HeroCard(基本上是PromptOptions通过,请参阅the code

传递隐藏参数的一种方法是为按钮指定ActionType PostBack,并使用隐藏参数填充Value属性。 PostBack是这里的方式,因为消息将被发布到机器人,但客户端应用程序将不会显示此消息(但请注意,并非所有通道都支持postBack操作类型)。有关详细信息,请参阅this

现在,由于您使用的是PromptDialog.Choice,因此您必须覆盖一些内容才能指定PostBack操作类型,因为默认情况下,使用Choice创建的按钮正在使用{{ 1}}(每this code

您必须整理自定义PromptStyler,覆盖ImBack方法并添加逻辑以更改操作类型并根据{{3}以您希望的方式设置按钮使用并将该自定义样式器传递给Apply<T>

默认情况下,PromptStyle使用PromptStyle.Auto。