как бы выполнить итерацию и сравнить класс учеников и класс расписания занятий и, если они совпадают, отобразить их на странице html - PullRequest
0 голосов
/ 14 февраля 2020
                     @*If Student attends the same class ID as the Class Schedule*@
        @foreach (var item in Model.Where(p => p.Class_Schedule.ClassID.Equals(Model.Any(p => p.Student.Enrollments.Any(p => p.ClassID)))))
        { 
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.AttendanceID)
                </td>

Это мой html файл, который я добавил в свое приложение MVC, хотел сделать оператор if, который проверит, зарегистрирован ли идентификатор студента в том же классе, что и класс, в качестве идентификатора расписания класса. Если это так, он покажет его детали, а если нет, он проигнорирует его и продолжит. Я получаю сообщение об ошибке (p=>p.ClassID), ошибка не может неявно преобразовать тип int в bool

1 Ответ

0 голосов
/ 14 февраля 2020

Вы получаете сообщение об ошибке, потому что .ANY возвращает логическое значение, а не int, такое как ClassID (то есть Int <> Bool).

То, что вы пытаетесь выполнить sh, может быть проще сделать в двух отдельные циклы вроде этого (возможно, вам придется выровнять по вашим моделям, но только по общей концепции):

@foreach (var classItem in Model.Class_Schedule)
   { 
        var classId = classItem.ClassID;

        <tr><td>@* classItem.Whatever your class name is *@ </td></tr>

        @foreach(var student in Model.Student.Enrollments.Where(e => e.ClassID == classId))
            {
              <tr>
                 <td>
                    @Html.DisplayFor(student => student.AttendanceID)
                 </td>
               </tr>
            }

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...