ASP.NET MVC5で環境はVisual Stadio2015です。
言語はC#でwebアプリケーションを作成しています。
前回前々回に引き続き、ほぼ教えて頂いて作成しています。
前回質問:https://teratail.com/questions/67584
今回はViewについて教えていただきたいです。
前回、Contorollerで処理したresultと notApplicableをViewで表示
したいのですが、Razor?などがよくわかっておらずどうすればいいのでしょうか。
Viewで表示するためには、ControllerからViewbugやViewdataなどでViewにデータを渡すということは本でなんとなく理解しました。
すみませんが、よろしくお願いします。
controller
C#
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Text; using System.Net.Http; using System.Collections; using System.Web.Script.Serialization; using System.Threading.Tasks; using System.Net.Http.Headers; using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.Xml.Serialization; namespace WebApplication1.Controllers { public class HomeController : Controller { string schoolBaseUrl = "https:~"; string schoolDataArea = "abcde"; //mappingsを定義 Dictionary<String, Kamoku> mappings = new Dictionary<String, Kamoku>() { {"1234", new Kamoku {Id = "10000", Name = "国語" }}, {"1112", new Kamoku {Id = "10000", Name = "理科" }}, {"1232, new Kamoku {Id = "10000", Name = "社会" }}, {"1311", new Kamoku {Id = "10000", Name = "数学" }}, {"1300", new Kamoku {Id = "10000", Name = "歴史" }}, {"1400", new Kamoku {Id = "10000", Name = "英語" }}, {"1178", new Kamoku {Id = "20000", Name = "体育" }}, {"1423", new Kamoku {Id = "20000", Name = "宗教" }}, public ActionResult Test() { try { Task<System.IO.Stream> response1 = postRequest(); System.IO.Stream res1 = response1.Result; // JSONデシリアライズ var serializer1 = new DataContractJsonSerializer(typeof(PcaToken)); PcaToken token = (PcaToken)serializer1.ReadObject(res1); /* Task<System.IO.Stream> response2 = getRequest(); System.IO.Stream res2 = response2.Result; var serializer2 = new DataContractJsonSerializer(typeof(List<CashOutUI>)); List<CashOutUI> info = (List<CashOutUI>)serializer2.ReadObject(res2); */ Task<System.IO.Stream> response3 = getRequest(token.access_token); System.IO.Stream res3 = response3.Result; // XMLデシリアライズ var serializer3 = new XmlSerializer(typeof(List<Ab>)); List<Ab> list = (List<Ab>)serializer3.Deserialize(res3); List<Kamoku> result = new List<Kamoku>(); var notApplicable = new List<String>(); foreach (Ab item in list) { Kamoku kamoku; if (mappings.TryGetValue(item.Code, out kamoku)) { result.Add(kamoku);//紐付けが一致してkamokuを追加したresult } else { notApplicable.Add(item.Code);//紐付けが一致しなかったnotApplicable } } //Task<string> response4 = getRequestStr(token.access_token); //string res4 = response4.Result; //ViewBag.Message = info.Count; //ViewBag.Message = token.access_token; ViewBag.Message = ""; } catch (Exception ex) { Console.WriteLine(ex.Message); } return View(); } [DataContract] public class Ab //WebAPIからとれる情報のクラス { [DataMember] public string Id { get; set; } [DataMember] public string Number { get; set; } [DataMember] public string Code { get; set; } [DataMember] public string Deletable { get; set; } [DataMember] public string Name { get; set; } [DataMember] //Kamoku クラス public class Kamoku //科目のIDと名称 { public string Id { get; set; } public string Name { get; set; } } }
View
Html
@{ ViewBag.Title = "About"; } <h2>@ViewBag.Title.</h2> <h3>@ViewBag.Message</h3> //ここに、resultとnotApplicableをそれぞれ表示させたい・・・
まだ回答がついていません
会員登録して回答してみよう