Bot Framework (.Net) - 使用 PromptDialog.Choice() 发送带有按钮的附加参数
Bot Framework (.Net) - Send additional parameters with button using PromptDialog.Choice()
我正在尝试使用 .Net 学习 Bot Framework,我有一个显示按钮并根据所选选项显示更多按钮或列表的应用程序。我想要的是,用按钮发送一个隐藏的 ID/parameter ,这样当用户点击按钮时,我可以访问隐藏的参数。我没有为此使用卡片。我只想显示按钮。谁能帮我这个?我知道这可能是一个非常基本的问题,但如果没有卡片我找不到如何解决这个问题。
首先,PromptDialog.Choice
在幕后创建了一个带有多个按钮的HeroCard
(基本上是PromptOptions
传递的,见the code)
传递隐藏参数的一种方法是为您的按钮指定 ActionType PostBack
并使用隐藏参数填充 Value
属性。 PostBack
是这里的方法,因为消息将发布到机器人,但客户端应用程序不会显示此消息(但是,请注意并非所有渠道都支持回发操作类型)。有关详细信息,请参阅 this
现在,由于您使用的是 PromptDialog.Choice
,因此您必须重写某些内容才能指定 PostBack
操作类型,因为默认情况下,使用 Choice 创建的按钮正在使用ImBack
(根据 this code)
您必须组合使用的自定义 PromptStyler, override the Apply<T>
method and add your logic to change the action type and set the buttons in the way you want based on the PromptStyle 并将该自定义样式器传递给 PromptDialog.Choice
。
默认情况下 PromptDialog.Choice 使用 PromptStyle.Auto。
我正在尝试使用 .Net 学习 Bot Framework,我有一个显示按钮并根据所选选项显示更多按钮或列表的应用程序。我想要的是,用按钮发送一个隐藏的 ID/parameter ,这样当用户点击按钮时,我可以访问隐藏的参数。我没有为此使用卡片。我只想显示按钮。谁能帮我这个?我知道这可能是一个非常基本的问题,但如果没有卡片我找不到如何解决这个问题。
首先,PromptDialog.Choice
在幕后创建了一个带有多个按钮的HeroCard
(基本上是PromptOptions
传递的,见the code)
传递隐藏参数的一种方法是为您的按钮指定 ActionType PostBack
并使用隐藏参数填充 Value
属性。 PostBack
是这里的方法,因为消息将发布到机器人,但客户端应用程序不会显示此消息(但是,请注意并非所有渠道都支持回发操作类型)。有关详细信息,请参阅 this
现在,由于您使用的是 PromptDialog.Choice
,因此您必须重写某些内容才能指定 PostBack
操作类型,因为默认情况下,使用 Choice 创建的按钮正在使用ImBack
(根据 this code)
您必须组合使用的自定义 PromptStyler, override the Apply<T>
method and add your logic to change the action type and set the buttons in the way you want based on the PromptStyle 并将该自定义样式器传递给 PromptDialog.Choice
。
默认情况下 PromptDialog.Choice 使用 PromptStyle.Auto。