在单个视图中列出两个表

时间:2015-05-06 11:07:13

标签: asp.net-mvc-4

Asp.net mvc4 我有两个数据库表,例如学生数据库和教师数据库,我必须在单页或单个视图上列出学生表和教师表

如何将两个模型发送到单个视图?

1 个答案:

答案 0 :(得分:0)

您将拥有两个模型StudentModel,TeacherModel,然后您必须使用这两个模型创建视图模型,例如AcadamyViewModel

您的实体将

public class Student
{
    ...............Properties
    ...............
}

public class Teacher
{
     ...............Properties
     ...............
}

您的视图模型将

public class AcadamyViewModel
{
    public List<Student> StudentList{get;set;}
    public List<Teacher> TeacherList{get;set;}
}

您的控制器操作将

public ActionResult Index()
{
     var students=dbContext.Students.ToList();
     var teachers=dbContext.Teachers.ToList();
     var model=new AcadamyViewModel()
     {
           StudentList=students,
           TeacherList=teachers
     };
     return View(model);
}

您的观点将

@model MyApp.Models.AcadamyViewModel

@foreach(var item in Model.StudentList)
{
   .................
}

@foreach(var item in Model.TeacherList)
{
   ...............
}

这会奏效。