讀取ViewBag匿名類

若雲發表於2015-06-01

關於遍歷 viewBag匿名類錯誤

EF tt生成的類

image

明明有值眼睜睜看著 卻不認識

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 }

 

image

 

解決方法:

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); 


多謝輝同學幫助

 

相關文章