2017-05-15 21 views
1

我試圖更換一個具有多個CardAction按鈕的HeroCard。我想使用AdaptiveCards,但是,我沒有看到任何說明如何從AdaptiveCard按鈕啓用回傳的文檔。我看到打開的瀏覽器,什麼不是,但沒有postBack。帶PostBack按鈕的AdaptiveCards

這個支持嗎?

 var cardButtons = new List<CardAction>(); 
     var yesAction = new CardAction() 
     { 
      Value = "Yes", 
      Type = "postBack", 
      Title = "Yes" 
     }; 
     cardButtons.Add(yesAction); 

     var noAction = new CardAction() 
     { 
      Value = "Nope", 
      Type = "postBack", 
      Title = "No, I'll try it" 
     }; 
     cardButtons.Add(noAction); 

     var plCard = new HeroCard() 
     { 
      Title = $"Are you sure?", 
      Buttons = cardButtons 
     }; 
+0

Action.Http打開一個url,我的按鈕沒有,它們是快捷方式回到bot服務。 – NiteLordz

回答

0

您是否試過SubmitAction

var noAction = new CardAction() 
{ 
    Value = "Nope", 
    Type = SubmitAction.TYPE, 
    Title = "No, I'll try it" 
}; 
+0

使用http://adaptivecards.io/visualizer/上的可視化工具我已經嘗試了所有不同的按鈕,但不知道我的配置是否對其中一個按鈕是錯誤的。此外,不確定這些按鈕在Facebook Messenger中是否有效,因爲Facebook Messenger沒有顯示按鈕。 – NiteLordz

+0

是的,按鈕不會在Facebook Messenger中呈現。 –

0

該代碼呈現正確,甚至似乎發送信息回bot。但仍然無法弄清楚如何讀取恢復功能的數據:

var card = new AdaptiveCard(); 
card.Body.Add(
    new ColumnSet() { 
     Columns = new List<Column>() { 
      new Column() { 
       SelectAction = new SubmitAction() { Data = 3, Title = "Good" }, 
       Items = new List<CardElement>() { new Image() { Url = GeneralStrings.Feedback03 } } 
      }, 
      new Column() { 
       SelectAction = new SubmitAction() { Data = 2, Title = "Average" }, 
       Items = new List<CardElement>() { new Image() { Url = GeneralStrings.Feedback02 } } 
      }, 
      new Column() { 
       SelectAction = new SubmitAction() { Data = 1, Title = "Bad" }, 
       Items = new List<CardElement>() { new Image() { Url = GeneralStrings.Feedback01 } } 
      } 
     } 
    }); 

var attachemnt = new Attachment() { ContentType = AdaptiveCard.ContentType, Content = card }; 

var message = context.MakeMessage(); 
message.Attachments.Add(attachemnt); 

await context.PostAsync(message); 
context.Wait<Activity>(this.AfterAskFeedback);