internal static ButtonsTemplate Make(int QIDnow, int OIDnow, string data) { //建立actions,作為ButtonTemplate的用戶回覆行為 var actions = new List <isRock.LineBot.TemplateActionBase>(); // 以傳進來的QID找到按鈕選項 QuestionDetail questionDetail = new QuestionDetail(QIDnow); List <QuestionDetail> questionDetailList = questionDetail.SelectByQid(); // 以選項的QID跟OID找到button裡要藏的QID和OID (即按下按鈕後下一個出現的QID和OID) for (int i = 0; i < questionDetailList.Count; i++) { NextHelper nextHelper = new NextHelper(questionDetailList[i].QID, questionDetailList[i].OID); QuestionDetail questionDetailNext = nextHelper.GetNext(); actions.Add(new isRock.LineBot.PostbackAction() { label = questionDetailList[i].AnswerOption, data = DateTime.Now.ToString() + $",{questionDetailNext.QID},{questionDetailNext.OID},{data}" }); } // QID 19和29都有四個button了不能加上一步 if (!(QIDnow == 19 || QIDnow == 29)) { // 製作上一步的button PreviousHelper previousHelper = new PreviousHelper(QIDnow, OIDnow); QuestionDetail questionDetailPrevious = previousHelper.GetPrevious(); actions.Add(new isRock.LineBot.PostbackAction() { label = "上一步", data = DateTime.Now.ToString() + $",{questionDetailPrevious.QID}," + $"{questionDetailPrevious.OID},default" }); } //製作模板框架 Question question = new Question(QIDnow); question.SelectByQid(); var ButtonTemplate = new isRock.LineBot.ButtonsTemplate() { altText = $"請使用手機查看喔~{question.QuestionTitle}", //title = question.QuestionTitle, text = question.QuestionText, //設定圖片 thumbnailImageUrl = new Uri(question.ImageUrl), actions = actions //設定回覆動作 }; return(ButtonTemplate); }