2012-11-26 36 views
0

我有一個類學生打印:我怎麼能在MVC 4.0查看頁面

 public class Student 
     { 
      public int StudentId{get;set;} 
      public string StudentName{get;set;} 
      public int Age{get;set;} 
      public List<Course> Courses{get;set;} 
      public List<string> MobileNumbers{get;set;} 
     } 

和課程類:

 public class Course 
     { 
     public int CourseId {get;set;} 
     public string CourseName {get;set;} 
     public List<Staff> Staff {get;set;} 
     } 

工作人員類具有以下結構:

 public class Staff 
     { 
     public int StaffId {get;set;} 
     public string StaffName {get;set;} 
     } 

我已經把數據放在ViewBag中,但我無法弄清楚應該如何使用foreach語句來打印所有這些記錄rds在下面的視圖中。 查看:

 <table class="tableStyle" width="100%" border="0" cellspacing="0" cellpadding="0"> 

         <thead> 
          <tr> 
           <th>Student Name</th> 
           <th>Courses</th> 
           <th>Staffs</th> 
           <th>Mobile Numbers</th> 
          </tr> 
         </thead> 

         @foreach (Student stud in ViewBag.students) 
         {  
          <tr> 
           <td>@stud.StudentName</td> 
           foreach(Course course in ViewBag.courses) 
           { 
           <td>@course.CourseName</td> 

           } 
           foreach(Staff staff in ViewBag.staff) 
           { 
            <td>@staff.StaffName</td> 
           } 

          </tr> 
         } 
        </table> 

但是,這種打印爲他們在第一foreach循環通過所有學生的一個學生所學課程。請,建議我一個方法來做到這一點...!

+0

您使用的是Entity Framework嗎? –

+0

@DaleMarshall:是的,我正在使用實體框架。 –

回答

1

你不需要你的其他視角。你有參考你的課程和學生對象的工作人員。

<table class="tableStyle" width="100%" border="0" cellspacing="0" cellpadding="0"> 

         <thead> 
          <tr> 
           <th>Student Name</th> 
           <th>Courses - Staffs</th> 
           <th>Mobile Numbers</th> 
          </tr> 
         </thead> 

         @foreach (Student stud in Viewbag.students) 
         {  
          <tr> 
           <td>@stud.StudentName</td> 
           <td> 
           foreach(Course course in stud.courses) 
           { 
           foreach(Staff staff in course.staff) 
           { 
            @course.CourseName - @staff.StaffName </br> 
           } 
           } 
           </td> 

          </tr> 
         } 
        </table> 

你也可以考慮把IEnumerable的爲您的網頁模型中加入:

@model IEnumerable<myproject.Models.Student> 

到頁面的頂部。那麼你將不需要使用Viewbag。