關於遍歷 viewBag匿名類錯誤
EF tt生成的類
明明有值眼睜睜看著 卻不認識
1 public ActionResult Index() 2 { 3 4 MyTestEntities1 db = new MyTestEntities1(); 5 6 var source = from c in db.Student select new { c.DocId, c.StuAge, c.StuName }; 7 ViewBag.source = source; 8 return View(); 9 }
解決方法:
1:建立匿名類的實體類進行轉換,
2:使用Tuple 按照陣列方式進行讀取
1 public ActionResult Index() 2 { 3 4 MyTestEntities1 db = new MyTestEntities1(); 5 6 //var source = from c in db.Student select new { c.DocId, c.StuAge, c.StuName }; 7 //var source = from c in db.Student.ToList() select Tuple.Create(c.DocId, c.StuAge, c.StuName); //new {c.DocId,c.StuAge,c.StuName }; 8 var source = db.Student.ToList().Select(s => Tuple.Create(s.DocId, s.StuAge, s.StuName)); 9 ViewBag.source = source; 10 return View(); 11 }
1 <table> 2 @foreach (var item in ViewBag.source) 3 { 4 <tr> 5 <td>@item.Item1</td> 6 <td>@item.Item2</td> 7 <td>@item.Item3/td> 8 </tr> 9 } 10 </table> 11 12
1 // 2 // 摘要: 3 // 建立新的 3 元組,即三元組。 4 // 5 // 引數: 6 // item1: 7 // 此元組的第一個分量的值。 8 // 9 // item2: 10 // 此元組的第二個分量的值。 11 // 12 // item3: 13 // 此元組的第三個分量的值。 14 // 15 // 型別引數: 16 // T1: 17 // 此元組的第一個分量的型別。 18 // 19 // T2: 20 // 元組的第二個分量的型別。 21 // 22 // T3: 23 // 元組的第三個分量的型別。 24 // 25 // 返回結果: 26 // 值為 (item1, item2, item3) 的 3 元組。 27 public static Tuple<T1, T2, T3> Create<T1, T2, T3>(T1 item1, T2 item2, T3 item3);
多謝輝同學幫助