0
Contoso社の大学は一例としてこれを与えた:どのように私は出力に私を許可するには、このコードを追加します全く別のモデルを持たずにコレクションを出力することはできますか?
ここ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; }
}
のICollection
属性は、インストラクターの詳細を出力した図である。
@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>
複数のコースがありますので、 'Model.Courses'のループは良い考えのようです。 – mason
しかし、私はちょうどmodel.coursesと言うことができませんか?私はビューモデルやクエリのいくつかの並べ替えが必要ですか? –
ahhh私は見る....私はそれが私に何らかのビューモデルまたは何かを使用させると思った。私はそれがまっすぐであることを夢見ていませんでした。質問。モデルとモデルの違いは何ですか?最上位の@modelは小文字なので、どこから来ているのか分かりません。 –