是否可以在没有完全独立模型的情况下输出集合?

时间:2016-11-28 18:02:19

标签: asp.net asp.net-mvc entity-framework

Contoso大学以此为例:

如何附加此代码以允许我输出ICollection

Instructor属性
  public class Instructor : Person
    {
        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
        [Display(Name = "Hire Date")]
        public DateTime HireDate { get; set; }

        public virtual ICollection<Course> Courses { get; set; }
        public virtual OfficeAssignment OfficeAssignment { get; set; }
    }
}
public class Course
    {
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        [Display(Name = "Number")]
        public int CourseID { get; set; }

        [StringLength(50, MinimumLength = 3)]
        public string Title { get; set; }

        [Range(0, 5)]
        public int Credits { get; set; }

        public int DepartmentID { get; set; }

        public virtual Department Department { get; set; }
        public virtual ICollection<Enrollment> Enrollments { get; set; }
        public virtual ICollection<Instructor> Instructors { get; set; }
    }

以下是输出讲师详细信息的视图:

@model ContosoUniversity.Models.Instructor

@{
    ViewBag.Title = "Details";
}

<h2>Details</h2>

<div>
    <h4>Instructor</h4>
    <hr />
    <dl class="dl-horizontal">
        <dt>
            @Html.DisplayNameFor(model => model.OfficeAssignment.Location)
        </dt>

        <dd>
            @Html.DisplayFor(model => model.OfficeAssignment.Location)
        </dd>

        <dt>
            @Html.DisplayNameFor(model => model.LastName)
        </dt>

        <dd>
            @Html.DisplayFor(model => model.LastName)
        </dd>

        <dt>
            @Html.DisplayNameFor(model => model.FirstMidName)
        </dt>

        <dd>
            @Html.DisplayFor(model => model.FirstMidName)
        </dd>

        <dt>
            @Html.DisplayNameFor(model => model.HireDate)
        </dt>

        <dd>
            @Html.DisplayFor(model => model.HireDate)
        </dd>

    </dl>
</div>
<p>
    @Html.ActionLink("Edit", "Edit", new { id = Model.ID }) |
    @Html.ActionLink("Back to List", "Index")
</p>

1 个答案:

答案 0 :(得分:0)

所有我必须做的就是这个...

 @{
        foreach (var course in Model.Courses)
        {
            <dd>
                @course.Title
            </dd>
        }
    }