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#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Web; 5using System.Web.Mvc; 6using System.Text; 7using System.Net.Http; 8using System.Collections; 9using System.Web.Script.Serialization; 10using System.Threading.Tasks; 11using System.Net.Http.Headers; 12using System.Runtime.Serialization; 13using System.Runtime.Serialization.Json; 14using System.Xml.Serialization; 15 16namespace WebApplication1.Controllers 17{ 18 public class HomeController : Controller 19 { 20 string schoolBaseUrl = "https:~"; 21 string schoolDataArea = "abcde"; 22 23 //mappingsを定義 24 Dictionary<String, Kamoku> mappings = new Dictionary<String, Kamoku>() 25 { 26 {"1234", new Kamoku {Id = "10000", Name = "国語" }}, 27 {"1112", new Kamoku {Id = "10000", Name = "理科" }}, 28 {"1232, new Kamoku {Id = "10000", Name = "社会" }}, 29 {"1311", new Kamoku {Id = "10000", Name = "数学" }}, 30 {"1300", new Kamoku {Id = "10000", Name = "歴史" }}, 31 {"1400", new Kamoku {Id = "10000", Name = "英語" }}, 32 {"1178", new Kamoku {Id = "20000", Name = "体育" }}, 33 {"1423", new Kamoku {Id = "20000", Name = "宗教" }}, 34 35 36 37 public ActionResult Test() 38 { 39 try 40 { 41 Task<System.IO.Stream> response1 = postRequest(); 42 System.IO.Stream res1 = response1.Result; 43 // JSONデシリアライズ 44 var serializer1 = new DataContractJsonSerializer(typeof(PcaToken)); 45 PcaToken token = (PcaToken)serializer1.ReadObject(res1); 46 47 /* 48 Task<System.IO.Stream> response2 = getRequest(); 49 System.IO.Stream res2 = response2.Result; 50 var serializer2 = new DataContractJsonSerializer(typeof(List<CashOutUI>)); 51 List<CashOutUI> info = (List<CashOutUI>)serializer2.ReadObject(res2); 52 */ 53 54 Task<System.IO.Stream> response3 = getRequest(token.access_token); 55 System.IO.Stream res3 = response3.Result; 56 // XMLデシリアライズ 57 var serializer3 = new XmlSerializer(typeof(List<Ab>)); 58 59 60List<Ab> list = (List<Ab>)serializer3.Deserialize(res3); 61List<Kamoku> result = new List<Kamoku>(); 62 63var notApplicable = new List<String>(); 64foreach (Ab item in list) 65{ 66 Kamoku kamoku; 67 if (mappings.TryGetValue(item.Code, out kamoku)) 68 { 69 result.Add(kamoku);//紐付けが一致してkamokuを追加したresult 70 } 71 else 72 { 73 notApplicable.Add(item.Code);//紐付けが一致しなかったnotApplicable 74 } 75} 76 77 78 //Task<string> response4 = getRequestStr(token.access_token); 79 //string res4 = response4.Result; 80 81 //ViewBag.Message = info.Count; 82 //ViewBag.Message = token.access_token; 83 ViewBag.Message = ""; 84 } 85 catch (Exception ex) 86 { 87 Console.WriteLine(ex.Message); 88 } 89 90 91 return View(); 92 } 93 94 95 [DataContract] 96 public class Ab //WebAPIからとれる情報のクラス 97 { 98 [DataMember] 99 public string Id { get; set; } 100 [DataMember] 101 public string Number { get; set; } 102 [DataMember] 103 public string Code { get; set; } 104 [DataMember] 105 public string Deletable { get; set; } 106 [DataMember] 107 public string Name { get; set; } 108 [DataMember] 109 110 //Kamoku クラス 111 public class Kamoku //科目のIDと名称 112 { 113 public string Id { get; set; } 114 public string Name { get; set; } 115 } 116} 117
View
Html
1@{ 2 ViewBag.Title = "About"; 3} 4<h2>@ViewBag.Title.</h2> 5<h3>@ViewBag.Message</h3> 6 7 8//ここに、resultとnotApplicableをそれぞれ表示させたい・・・
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/03/02 07:43