我正在学习ASP.NET MVC。我创建了有两个表的基本页面。下面是模型文件Courses.cs。
public class Courses
{
public int ID { get; set; }
public string CourseName { get; set; }
public string Description { get; set; }
public int Duration { get; set; }
public virtual ICollection<Instructors> Instructors { get; set; }
}
public class Instructors
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int CoursesID { get; set; }
public virtual Courses Courses { get; set; }
}
创建模型后。我添加了控制器,相应视图自动创建 。 现在我在我看来期望的是一个课程 index.cshtml ,字段为
教师 index.cshtml ,字段为
姓
名字
CoursesID(它是一个外键,应该链接到课程表的ID(PK)
现在当我打开讲师 index.cshtml 文件时,我看到的是
<th>
@Html.DisplayNameFor(model => model.Courses.CourseName)
</th>
为什么视图有model.Courses.CourseName
之类的内容?
为什么脚手架没有显示以下行为。我期待下面的事情:
<th>
@Html.DisplayNameFor(model => model.Courses.CoursesID)
</th>
有人可以解释一下这种行为吗?
答案 0 :(得分:0)
视图只能访问您为其建模的类。很可能您正在查看的视图是针对您编写的第一个类进行建模的。查看剃刀顶部的视图,看看有什么。
我怀疑你会看到@model Courses
或某些变体。