Мне нужно создать форму, в которой пользователь должен ее заполнить и отправить. Поэтому мне нужно создать кнопку отправки, которая вызывает другой метод, но я не смог найти связь между действием отправки и вызовом другого метода.
Сценарий моей формы:
public Attachment CreateAdaptiveCardwithEntry()
{
var submitActionData = JObject.Parse("{ \"Type\": \"SaveFunction\" }");
var card = new AdaptiveCard()
{
Body = new List<CardElement>()
{
// Hotels Search form
new TextBlock() { Text = "Titre de la note des frais" },
new TextInput()
{
Id = "titre",
Speak = "<s>Veuillez saisir le titre</s>",
Placeholder = "Veuillez saisir le titre",
Style = TextInputStyle.Text
},
},
Actions = new List<ActionBase>()
{
new SubmitAction()
{
DataJson = submitActionData.ToString()
}
}
};
Сценарий моей карты:
var replyMessage = context.MakeMessage();
replyMessage.Attachments = new List<Attachment> { FraisDialog.CreateAdaptiveCardwithEntry() };
await context.PostAsync(replyMessage, CancellationToken.None);
context.Wait(MessageReceived);
скрипт в MessageReceivedAsync:
public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> result)
{
var message = await result;
if (message.Value != null)
{
// Got an Action Submit
dynamic value = message.Value;
string submitType = value.Type.ToString();
switch (submitType)
{
case "SaveFunction":
await context.PostAsync("Please complete all the search parameters:\n");
return;
}
}
}
В этом примере мне нужно отправить информацию с Id = "titre" и обработать ее впоследствии, я не знаю, как ее отправить (DataJson?) И куда (MessageReceivedAsync?). Кто-нибудь может мне помочь ? мне нужно создать еще один диалог только для карты?
Ps: весь этот код находится в rootDialog.