Я создал приложение-бот-шаблон LUIS (версия 3), и мне нужно получить выходные данные раскрывающегося списка адаптивной карты. В настоящее время я могу создать и отобразить раскрывающийся список, но сталкиваюсь с трудностями при получении результата после нажатия кнопки. Не могли бы вы дать мне решение или дать ссылку на соответствующее руководство для версии 3, поскольку ресурсы по этой проблеме в основном предназначены для версии 4.
public Attachment PolicyAdaptiveCard()
{
var card = new AdaptiveCard();
var choices = new List();
choices.Add(new AdaptiveChoice()
{
Title = "Category 1",
Value = "c1"
});
choices.Add(new AdaptiveChoice()
{
Title = "Category 2",
Value = "c2"
});
var choiceSet = new AdaptiveChoiceSetInput()
{
IsMultiSelect = false,
Choices = choices,
Style = AdaptiveChoiceInputStyle.Compact,
Id = "Category"
};
card.Body.Add(choiceSet);
card.Actions.Add(new AdaptiveSubmitAction() { Title = "Select Category", Data = Newtonsoft.Json.Linq.JObject.FromObject(new { button = "select" }) });
Attachment attachment = new Attachment()
{
ContentType = AdaptiveCard.ContentType,
Content = card,
Name = $"Card"
};
return attachment;
}
Это вывод JSON, который я фиксирую в эмуляторе бота.
{
"channelData": {
"clientActivityID": "15547009411880.yfus2yy2mao",
"postBack": true
},
"channelId": "emulator",
"conversation": {
"id": "3f50f7c1-59be-11e9-98bd-17dcaa70e8d3|livechat"
},
"from": {
"id": "r_tckd4zoa8h",
"name": "User",
"role": "user"
},
"id": "48d27080-59be-11e9-93ff-a77a4eb2d000",
"localTimestamp": "2019-04-08T08:22:21+03:00",
"locale": "en-US",
"recipient": {
"id": "97e06f60-496a-11e9-9541-3d37a55e03cc",
"name": "Bot",
"role": "bot"
},
"serviceUrl": "http://localhost:56373",
"showInInspector": true,
"timestamp": "2019-04-08T05:22:21.192Z",
"type": "message",
"value": {
"Category": "c1",
"button": "select"
}
}
Как мне прочитать значение и вывести «c1» в следующем методе? Это код, которому я следую. Не могли бы вы дать мне метод, который я могу использовать для получения значения категории
var reply = context.MakeMessage();
var activityValue = context.Activity.AsMessageActivity().Value as Newtonsoft.Json.Linq.JObject;
if (activityValue != null)
{
var categorySelection = activityValue.ToObject();
var category = categorySelection.Category;
await context.PostAsync(reply);
}
Подробнее здесь: https://stackoverflow.com/questions/555 ... x-or-check
Как я могу получить и записать результат адаптивной карты из раскрывающегося списка или контрольного списка? ⇐ C#
Место общения программистов C#
1732876487
Anonymous
Я создал приложение-бот-шаблон LUIS (версия 3), и мне нужно получить выходные данные раскрывающегося списка адаптивной карты. В настоящее время я могу создать и отобразить раскрывающийся список, но сталкиваюсь с трудностями при получении результата после нажатия кнопки. Не могли бы вы дать мне решение или дать ссылку на соответствующее руководство для версии 3, поскольку ресурсы по этой проблеме в основном предназначены для версии 4.
public Attachment PolicyAdaptiveCard()
{
var card = new AdaptiveCard();
var choices = new List();
choices.Add(new AdaptiveChoice()
{
Title = "Category 1",
Value = "c1"
});
choices.Add(new AdaptiveChoice()
{
Title = "Category 2",
Value = "c2"
});
var choiceSet = new AdaptiveChoiceSetInput()
{
IsMultiSelect = false,
Choices = choices,
Style = AdaptiveChoiceInputStyle.Compact,
Id = "Category"
};
card.Body.Add(choiceSet);
card.Actions.Add(new AdaptiveSubmitAction() { Title = "Select Category", Data = Newtonsoft.Json.Linq.JObject.FromObject(new { button = "select" }) });
Attachment attachment = new Attachment()
{
ContentType = AdaptiveCard.ContentType,
Content = card,
Name = $"Card"
};
return attachment;
}
Это вывод JSON, который я фиксирую в эмуляторе бота.
{
"channelData": {
"clientActivityID": "15547009411880.yfus2yy2mao",
"postBack": true
},
"channelId": "emulator",
"conversation": {
"id": "3f50f7c1-59be-11e9-98bd-17dcaa70e8d3|livechat"
},
"from": {
"id": "r_tckd4zoa8h",
"name": "User",
"role": "user"
},
"id": "48d27080-59be-11e9-93ff-a77a4eb2d000",
"localTimestamp": "2019-04-08T08:22:21+03:00",
"locale": "en-US",
"recipient": {
"id": "97e06f60-496a-11e9-9541-3d37a55e03cc",
"name": "Bot",
"role": "bot"
},
"serviceUrl": "http://localhost:56373",
"showInInspector": true,
"timestamp": "2019-04-08T05:22:21.192Z",
"type": "message",
"value": {
"Category": "c1",
"button": "select"
}
}
Как мне прочитать значение и вывести «c1» в следующем методе? Это код, которому я следую. Не могли бы вы дать мне метод, который я могу использовать для получения значения категории
var reply = context.MakeMessage();
var activityValue = context.Activity.AsMessageActivity().Value as Newtonsoft.Json.Linq.JObject;
if (activityValue != null)
{
var categorySelection = activityValue.ToObject();
var category = categorySelection.Category;
await context.PostAsync(reply);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/55566750/how-can-i-retrieve-and-capture-adaptive-card-result-from-drop-down-box-or-check[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия