从对话框调用表单
我有一个简单的表格,
[Serializable] class CreateNewLeadForm { public string FirstName; public string LastName; public static IForm BuildForm() { return new FormBuilder() .Message("Lets create a New Lead") .Field(nameof(FirstName)) .Field(nameof(LastName)) .Build(); } };
还有一个简单的对话框,
public class GreetDialog : IDialog { public async Task StartAsync(IDialogContext context) { context.Wait(MessageReceivedAsync); } public async Task MessageReceivedAsync(IDialogContext context, IAwaitable argument) { context.Wait(MessageReceivedAsync); } }
如何从主对话本身调用启动FormDialog? 一般来说,我们如何在Dialog中开始新的对话框?
要启动FormDialog,您可以执行以下操作:
var myform = new FormDialog(new CreateNewLeadForm(), CreateNewLeadForm.BuildForm, FormOptions.PromptInStart, null); context.Call (myform, FormCompleteCallback);
看看PizzaBot就是一个例子。
要在Dialog中启动新对话框,您可以执行以下操作:
- context.Call传递新对话框的实例和完成回调(如表格中所示)
-
context.Forward,您可以将消息转发到子对话框
context.Forward(new MyChildDialog(),ResumeAfterChildDialog,message,CancellationToken.None);
- 我可以将自定义逻辑添加到Bot Framework PromptDialog以处理无效答案吗?
- 无法加载文件或程序集Bond.IO
- 当用户向我的机器人发送消息时,他会收到欢迎消息。 但是当用户响应时,bot会再次发送欢迎消息。 我怎样才能解决这个问题?
- Microsoft Bot Framework中的FormBuilder自定义字段
- 更改botframework Formflow中的确认选项
- 如何在Bot Framework中取消/退出或退出PromptDialog.Choice?
- 客户端 – 客户端通过Microsoft Bot框架聊天
- C#BotFramework Prompt.Confirm显示太多尝试exception
- 暂时存储特定用户的会话