添加用户返回和编辑表单

时间:2017-11-30 16:34:23

标签: c# botframework adaptive-cards

我正在使用Microsoft Bot Framework和Adaptive卡让用户填写表单。正在创建和显示表单,但现在我正在尝试添加用户返回和编辑表单字段的功能(在某些情况下,某些字段会在表单创建时自动填充。)

以下是我的卡片当前的样子(在Bot仿真器中):

在输入引用名称之前

Before Quote Name is input

输入引用名称后

After Quote Name is Entered

我希望在添加编辑功能后,我的卡片看起来像这样:

编辑引用名称

Edit Quote Name

用户可以点击"编辑"文本(在其自己的列中是一个文本块)并在"编辑"下显示一个新的TextInput字段。文本作为新的内联卡。这是我尝试过的代码:

new ColumnSet()
                {
                    Columns =
                    {
                        new Column()
                        {
                            Size = "2",
                            Items =
                            {
                                new TextBlock()
                                {
                                    Text = "Edit",
                                    Color = TextColor.Accent
                                }
                            },
                            SelectAction = new ShowCardAction()
                            {
                                Title = "View",
                                Card = new AdaptiveCard()
                                {
                                    Body = new List<CardElement>()
                                    {
                                        new TextBlock()
                                        {
                                            Text = "In the Edit Card",
                                            Weight = TextWeight.Bolder
                                        }
                                    }

                                }
                            }
                        }
                    },

                }

我认为问题在于ShowCardAction()没有像我期望的那样工作。当我用OpenURLAction()替换它时,当编辑&#39;编辑时,会打开一个新的链接。单击了文本(因此此操作有效,但ShowCard没有)。

我引用了这篇文章Adaptive Cards - Nested scheme和自适应卡架构浏览器here,但没有运气。

之前有没有人做过这样的事情并且愿意分享他们是如何做到的?

1 个答案:

答案 0 :(得分:2)

目前,SelectActions只能与Action.OpenUrl和Action.Submit一起使用,正如您所观察到的那样。我将更新文档以使其更加明显。我们希望在未来探索添加show card支持,但需要在每个平台上都能正确使用UX。