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