【问题标题】:Input values in adaptive cards are getting refreshed on submit button click自适应卡片中的输入值在提交按钮单击时被刷新
【发布时间】:2020-03-29 02:16:17
【问题描述】:

我有一个使用 bot 框架的机器人,我正在设计它以在 Web 客户端上工作。我有一张自适应卡,我要求用户填写一些详细信息,它工作正常,但是当用户在填写一些详细信息后点击提交,用户在自适应卡上输入的值消失。

在下面显示的图像中,我将日期作为输入,但是当用户输入日期并按下自适应卡上的提交值时会消失

我无法保留自适应卡片上的值,我希望用户可以看到这些值,我已经环顾四周以解决这个问题,但我无法做到,现在我正在从我的项目中存在静态的 json 文件。 值不会消失,我可以让用户输入值,但我希望它们留在卡片上。

【问题讨论】:

  • 我的回答是否充分解决了您的问题?如果是这样,请“接受”并投票,以便其他人可以快速找到答案,我可以从我的支持跟踪器中清除它。如果没有,请告诉我我还能提供哪些帮助!
  • 不,我仍在努力实现这一点,实际上我正在阻止提交按钮单击之前启动的卡片,因此如果用户提交任何内容,我的机器人不会响应它
  • 明白了。这有点难做到。基本上,您需要给卡片一个 ID 并将该 ID 添加到提交操作的 data 属性中。使用仅在匹配时才接受的验证器。或者,您可以使用我的 AdaptiveCardPrompt,它应该在另一个月左右的下一个版本中包含在 SDK 中。 Here's where it does the ID check

标签: c# botframework bots adaptive-cards


【解决方案1】:

很遗憾,这是意料之中的行为。在您的情况下,您似乎正在使用网络聊天。完成您正在寻找的唯一方法是:

1。构建您自己的 AdaptiveCards package 版本,WebChat 使用它,然后在您自己的 WebChat 构建中使用它。

我真的不建议这样做,我不确定代码需要更改的地方。

2。制定一个更新卡的 hacky 解决方法

它会是这样的:

  1. 用户提交卡片
  2. Bot 编辑卡片 JSON 以将用户的输入包含到卡片的输入字段中
  3. Bot 将旧卡片替换为包含用户输入的卡片。 Here's an example for updating a card in Teams(可应用于其他渠道)

【讨论】:

    猜你喜欢
    • 2020-12-31
    • 2021-03-24
    • 2017-10-16
    • 2012-12-05
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 2020-01-12
    • 2012-08-07
    相关资源
    最近更新 更多