Это не зацикливание, потому что вы указали имя для отображаемого шаблона в качестве второго аргумента DisplayFor
помощника (_CourseTableDayOfWeek
).
Он зацикливается только тогда, когда вы полагаетесь на условные обозначения, т.е.
@Html.DisplayFor(m => m.DaysOfWeek)
, а затем внутри ~/Views/Shared/DisplayTemplates/DateTime.cshtml
:
@model DateTime
@{
ViewBag.Title = "CourseTableDayOfWeek";
}
<th>
@System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.DayNames[(int) Model.DayOfWeek]
<span class="dateString">Model.ToString("G")</span>
</th>
Как только вы укажете пользовательское имя для шаблона отображения (либо в качестве второго аргумента помощника DisplayFor, либо в качестве атрибута [UIHint]
), он больше не будет зацикливаться для свойств коллекции, и шаблон просто будет передаваться IEnumerable<T>
как модель ,
Это сбивает с толку, но это так. Мне это тоже не нравится.