我試圖使用ElementAt()方法來訪問循環中的項目。在我看來,我有兩個模型,我的工作:如何使用我的ElementAt()方法訪問索引項目?
List<SchoolIn.ViewModels.EnrolledCourseData> courses = ViewBag.Courses; List<SchoolIn.Models.Enrollment> dayofclass = ViewBag.classDay;
然後在foreach循環中我有這樣的:
foreach (var course in courses.Select ((x,i)=>new{Data=x,Index=i}))
{
@course.Data.Title
if (course.Index < dayofclass.Count())
{
@dayofclass.ElementAt(course.Index).classDays
}
if (Model.Enrollments != null)
{
@Html.DropDownList("searchString", Model.WeekDays.Select(s => new SelectListItem { Text = s.ToString(), Value = s.ToString() }))
@Html.DropDownList("searchString", Model.Enrollments.FirstOrDefault().WeekDays.Select(s => new SelectListItem { Text = s.ToString(), Value = s.ToString(), Selected = s.ToString().Equals(dayofclass.ElementAt(course.Index).classDays) }))
}
}
這條線按預期工作。它在classDays模型的索引處打印字符串: @ dayofclass.ElementAt(course.Index).classDays
我想要的是使用ElementAt()方法將相同的字符串放在下拉列表中。下面是拋出ArgumentOutOfRange異常的代碼的一部分:
的equals(dayofclass.ElementAt(course.Index).classDays
如果我硬編碼像這樣...等於(dayofclass.ElementAt(4).classDays ...它作品所以我想一定是有辦法讓在我classDays元素。任何想法?
感謝這一個任何幫助。