Reputation: 1931
I'm trying to learn Bot Framework using .Net and I have an application which displays buttons and based on the option selected, display more buttons or a list. What I want is, to send a hidden ID/parameter with the button so that when user clicks on the button, I can access the hidden parameter. I'm not using cards for this. I just want to display the buttons. Can anyone help me with this? I know this can be a very basic question but I couldn't find how to this without Cards.
Upvotes: 1
Views: 556
Reputation: 14787
First of all, PromptDialog.Choice
behind the scenes creates a HeroCard
with multiple buttons (which are basically the PromptOptions
passed, see the code)
One way to pass a hidden parameter would be specifying the ActionType PostBack
to your button and fill the Value
property with the hidden parameter. PostBack
is the way to go here since the message will be posted to the bot but client applications will not display this message (however, please note that not all the channels support the postBack action type). See this for more information
Now, since you are using PromptDialog.Choice
you will have to override things in order to be able to specify the PostBack
action type, since by default, the buttons created with the Choice are using ImBack
(per this code)
You will have to put together a custom 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 used and pass that custom styler to the PromptDialog.Choice
.
By default the PromptDialog.Choice uses PromptStyle.Auto.
Upvotes: 2