ASP.NET MVC 4 Controller + View ( Razor ) + Multiple Models + LINQ 方法

 
ASP.NET MVC 4 Controller + View ( Razor ) + Multiple Models + LINQ 方法
 

   HomeController.cs
 
   public class HomeController : Controller
   {
 
      CourseEntities entity;
 
      public ActionResult Index()
      {
 
         … …
 
         entity = new CourseEntities();
 
         var dataModel = new CourseDetail()
         {
            coursecategory = entity.CourseCategories.ToList(),
            course = entity.Courses.ToList()
         };
 
         return View(dataModel);
 
      }
 
      public class CourseDetail
      {
         public IEnumerable<CourseCategory> coursecategory { get; set; }
         public IEnumerable<Course> course { get; set; }
      }
 
   }
 

 

   Index.cshtml
 
   @section menu {
 
      <table class="leftmenu" cellpadding="0" cellspacing="0">
      @foreach (var coursecategoryitem in Model.coursecategory)
      {
         <tr>
            <td>
               <span class="coursecategory" catid="@coursecategoryitem.CourseCategoryID">@coursecategoryitem.CourseCategoryName</span>
            </td>
         </tr>
         <tr class="course" id="course@{@coursecategoryitem.CourseCategoryID}">
            <td>
            @foreach (var courseitem in Model.course){
               if (coursecategoryitem.CourseCategoryID == courseitem.CourseCategory) {
                  <span>@courseitem.CourseName</span><br />
               }
            }
            </td>
         </tr>
      }
      </table>
 
   }