Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.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 - Fatal编程技术网

C# 在选择第一个选项集时设置第二个选项集值

C# 在选择第一个选项集时设置第二个选项集值,c#,botframework,C#,Botframework,有一个关于框架选项集/下拉列表的问题 我需要在选择第一个Choiceset值时更改第二个Choiceset值。是否可以在botframework中执行此操作?类似于第一个Choiceset值的事件更改 我知道如何创建ChoiceSet,但无法确定如何检测第一个ChoiceSet选择的事件 谢谢 我需要在选择第一个Choiceset值时更改第二个Choiceset值。是否可以在botframework中执行此操作?类似于第一个Choiceset值的事件更改 第一种方法:您可以尝试在自适应卡中显示第

有一个关于框架选项集/下拉列表的问题

我需要在选择第一个Choiceset值时更改第二个Choiceset值。是否可以在botframework中执行此操作?类似于第一个Choiceset值的事件更改

我知道如何创建ChoiceSet,但无法确定如何检测第一个ChoiceSet选择的事件

谢谢

我需要在选择第一个Choiceset值时更改第二个Choiceset值。是否可以在botframework中执行此操作?类似于第一个Choiceset值的事件更改

第一种方法:您可以尝试在自适应卡中显示第一个
输入。ChoiceSet
,在用户选择一个选项并将选择发送回您的机器人后,您可以动态填充第二个
输入的
选项
属性。ChoiceSet
并在另一个自适应卡中显示

我正在使用WebChat频道

第二种方法:将webchat嵌入到网站中,正如我在评论中提到的,您可以尝试在JavaScript客户端实现该要求

<script>
    var botConnection = new BotChat.DirectLine({ secret: '{directline_secret_here}' });

    var userinfo = { id: '{user_id_here}'};

    BotChat.App({
        botConnection: botConnection,
        user: userinfo,
        bot: { id: '{bot_id_here}' },
        resize: 'detect'
    }, document.getElementById("bot"));


    botConnection.activity$
        .filter(activity => activity.type === "message")
        .subscribe(activity => BindOnChangeEventToSelect(activity));

    function BindOnChangeEventToSelect(activity) {

        //Attach a handler to 'change' event of <select> element
        $("select.ac-multichoiceInput:nth-of-type(2n+1)").on("change", function () {
            $(this).siblings("select").val($(this).val());
        }); 
    }
</script>

var botConnection=new BotChat.DirectLine({secret:{DirectLine\u secret\u here}}});
var userinfo={id:'{user\u id\u here}}};
BotChat.App({
botConnection:botConnection,
用户:userinfo,
bot:{id:'{bot\u id\u here}}},
调整大小:“检测”
},document.getElementById(“bot”);
botConnection.activity$
.filter(活动=>activity.type==“消息”)
.subscribe(activity=>BindOnChangeEventToSelect(activity));
函数BindOnChangeEventToSelect(活动){
//将处理程序附加到元素的“更改”事件
$(“select.ac multichoice输入:第n个类型(2n+1)”)。打开(“更改”,函数(){
$(this.sleeps(“select”).val($(this.val());
}); 
}
测试结果:


我需要在选择第一个Choiceset值时更改第二个Choiceset值。
是否要实现级联Choiceset?默认情况下,botframework和channels似乎不提供此功能,如果您通过webchat将bot嵌入网站,您可以尝试在JavaScript客户端上实现。@FeiHan我想要实现的是,根据选择的第一个下拉值,我需要更改第二个下拉值。它和你提到的1号一样吗?级联选择集?
我想要实现的是,基于第一个下拉值,我需要更改第二个下拉值。
我提到了同样的事情,基于第一个选择集值动态更新第二个选择集的选择,据我所知,机器人和频道不提供此功能。好的。谢谢你在使用网络聊天频道吗?如果是,您可以尝试通过web page.Tqvm中的JavaScript实现该要求。我将尝试申请