Глядя на то, что вы пытаетесь сделать, я бы сказал, что ajax - лучший подход.В MVC уже есть Jquery, поэтому я бы порекомендовал использовать его.
Таким образом, вы можете сначала загрузить выпадающий список для студентов (передавая данные из контроллера). И как только пользователь выберет студента, вы можете загрузить источники и предметы.Таким образом, вы можете изменить методы контроллеров, чтобы ограничить результаты в зависимости от того, что они выбрали.
Если вы хотите сохранить свой маршрут, я бы поработал с контроллером и создал бы модель на лету.Я бы сказал, что вы можете использовать динамический объект, но он не передается от контроллера к представлению.Чтобы обойти это, вы можете использовать Dictionary.
var data = new Dictionary () data.Add ("subject", RepositoryHelper.GetStudentList ()) data.Add ("Courses", RepositoryHelper.GetCoursesList ()) data.Add ("subject", RepositoryHelper.GetSubjectsList ()) return View (Data);
Лично я бы выбрал вариант 1.