Выпадающий на адаптивной карте - BOT framework - PullRequest
2 голосов
/ 16 апреля 2020

Чтобы отобразить список праздничных дней, я создаю адаптивную карту. На адаптивной карте будет один выпадающий список городов, в зависимости от выбора мне нужно показать список праздников для выбранного города. Я не могу найти, как получить выбранное значение из выпадающего списка. Я попробовал что-то вроде ниже, но это дает мне только первое значение, которое я выбрал в раскрывающемся списке при рендеринге карты -

var card = new AdaptiveCard();

try
{
    card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 0))
    {
        Body =
        {
            new AdaptiveTextBlock("My Holiday List - " + userCity),
            new AdaptiveTextBlock("Please select city:"),

            new AdaptiveChoiceSetInput
            {
                Choices = list,
                Id = "CountryOrganizationCode",
                Style = AdaptiveChoiceInputStyle.Compact,
                Value = "Delhi",
                // IsMultiSelect = false,
            },
        },
    };

    card.Actions = new List<AdaptiveAction>
    {
        new AdaptiveShowCardAction
        {
            Title = "View Holiday List ",
            Type =  "Action.ShowCard",
            Card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 0))
            {
                Body =
                {
                    new AdaptiveTextBlock()
                    {
                        Text = holidaylist.Where(i => i.Key == ((AdaptiveCards.AdaptiveChoiceSetInput)card.Body[2]).Value).FirstOrDefault().Value.ToString(),
                        Wrap = true,
                    },
                },
            },
        },
    };
}

1 Ответ

0 голосов
/ 20 апреля 2020

Из моего ответа на другой вопрос :

Вы можете расширить функциональность Adaptive Card, только если вы используете веб-чат, поэтому вы не сможете отвечать на вопросы. события из этого раскрывающегося списка, и вы не сможете изменить карту, когда ее заполняет пользователь. Вам нужно будет выбрать пользователя из города и нажать кнопку «Отправить». Хотя Команды разрешают обновления сообщений, и поэтому вы можете обновить карту в ответ на действие отправки, вероятно, лучше и проще отправить целую новую карту со списком праздников.

Что это означает что вы сможете делать только то, что пытаетесь делать в веб-чате, и даже тогда это будет трудно. Поскольку для Команд вам понадобится обходной путь, вы можете также использовать этот обходной путь и для Веб-чата.

Вы не сможете заставить адаптивные карты работать в Skype, поскольку он не является одним из поддерживаемые платформы для адаптивных карт . Боты Skype в целом также устарели, поэтому я рекомендую отключить Skype как канал и просто использовать два других.

...