Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当我们点击英雄卡的按钮时,我们可以在聊天窗口中自动向下滚动吗?_C#_Botframework_Direct Line Botframework_Adaptive Cards - Fatal编程技术网

C# 当我们点击英雄卡的按钮时,我们可以在聊天窗口中自动向下滚动吗?

C# 当我们点击英雄卡的按钮时,我们可以在聊天窗口中自动向下滚动吗?,c#,botframework,direct-line-botframework,adaptive-cards,C#,Botframework,Direct Line Botframework,Adaptive Cards,我已经在Direct Line channel中部署并发布了我的机器人。当获得的结果不止一个时,我将以英雄卡的形式获得一系列相应的结果。现在,当我们点击英雄卡的任何一个按钮时,它会在底部给出一个响应。为了检查响应,我需要检查整个过程,并且需要检查响应。这里我要求,当我们点击按钮时自动滚动 我找到了一个解决方案: const store = window.WebChat.createStore( {}, ({ dispatch }) => next => action => {

我已经在Direct Line channel中部署并发布了我的机器人。当获得的结果不止一个时,我将以英雄卡的形式获得一系列相应的结果。现在,当我们点击英雄卡的任何一个按钮时,它会在底部给出一个响应。为了检查响应,我需要检查整个过程,并且需要检查响应。这里我要求,当我们点击按钮时自动滚动

我找到了一个解决方案:

const store = window.WebChat.createStore(
{},
({ dispatch }) => next => action => {
    if (action.type === 'DIRECT_LINE/POST_ACTIVITY_FULFILLED') {
        document.querySelector('ul[role="list"]').lastChild.scrollIntoView({behavior: 'smooth', block: 'start'});
    }
    return next(action);
}
);

window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({ token }),
store
 }, document.getElementById('webchat'));
上面显示的代码段通过使用“IamBack”按钮活动类型工作正常,但我使用“PostBack”隐藏按钮单击时的值。在我的例子中,上面显示的代码段不起作用。请告诉我任何需要修改的地方。 我是新的机器人框架,请给我一些解决方案

这是具有回发活动类型的英雄卡的代码

var heroCard = new ThumbnailCard
        {
            Title = title.ToUpperInvariant(),
            Images = new List<CardImage> { new CardImage(filename) },
            Subtitle = description,
            Text = "",
            Buttons = new List<CardAction> { new CardAction(ActionTypes.PostBack, title.ToUpperInvariant(), value: youtubeid) },
        };
var heroCard=新的缩略图卡
{
Title=Title.toupper不变量(),
Images=新列表{new CardImage(文件名)},
副标题=描述,
Text=“”,
按钮=新列表{new CardAction(ActionTypes.PostBack,title.ToUpperInvariant(),value:youtubeid)},
};

提前谢谢

您使用的是哪个版本的网络聊天?上面的代码片段仅适用于Web Chat v4。此外,您使用的浏览器和版本是什么(以防出现错误)?我想补充一点,为什么不做一个卡片旋转木马,用户可以点击从一侧到另一侧?然后,无论用户单击什么,都将是下一个响应。如果你需要一个例子,我可以为你发布一个答案。是的,我使用v4,我在chrome浏览器中使用DirectLine频道。通过迭代英雄卡,我已更改为旋转木马卡。但无论如何,我想在点击英雄卡的按钮后隐藏响应。如果我试图隐藏它,自动滚动不起作用。要隐藏按钮响应,我使用的是回发活动类型。我不确定您的响应…您现在是否有有效的解决方案,或者您仍然有问题?