我知道这个问题可能很愚蠢,但我对ASP.NET完全陌生,并花了一整天时间试图解决这个问题。这是我的问题:
我有两个型号
1
namespace WebApplication.Models
{
public class Student
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public string DeptID { get; set; }
public Dept dept { get; set; }
}
}
2
namespace WebApplication.Models
{
public class Dept
{
[Key]
public int DeptId { get; set; }
public string Name { get; set; }
public ICollection<Student> students { get; set; }
}
}
我想用所有学生数据和部门名称制作视图。我该怎么办?
答案 0 :(得分:1)
我希望您使用实体框架linq查询并拥有一个带有上述两个实体的dbContext。
现在,您可以通过控制器上的部门获取所有学生数据,如下所示:
IEnumerable<Student> students = dbContextObject.Students.Include(x=>x.dept);
它将把所有学生的记录带到学生班的部门财产部门。现在,您可以将此学生列表返回到您的视图,在视图中,您将在视图模型中收到它:
@model IEnumerable<Student>
现在在你的视图中使用@foreach这样的tr来为学生姓名和部门生成td:
@foreach(var item in Model)
{
<td>@item.Name</td>
<td>@item.dept.Name</td>
}
它会在您的视图中显示所有学生姓名及其部门名称。希望这会对你有所帮助。