Как обновить дополнительные зависимые поля при изменении выпадающего списка - PullRequest
0 голосов
/ 16 ноября 2018

Я написал несколько пользовательских классов проверки, которые позволяют сравнивать пары дат, чтобы увидеть, являются ли они действительными, например, дата окончания в или после даты начала. См. Аннотацию данных mvc4 для сравнения двух дат . Они хорошо работают при использовании в одной модели. Но я не знаю, как использовать их в модели представления родительских и дочерних объектов, которые будут использоваться для создания и редактирования дочерних объектов.

Пусть родительская сущность будет академическим календарем, а дочерняя сущность - курсом. Я пытаюсь создать или отредактировать курс. Помимо того, что требуется, чтобы даты начала и окончания курса были действительными, я должен быть в состоянии проверить, что дата начала курса находится в или после даты начала Календаря и что дата окончания курса находится в или до даты окончания Календаря. Поэтому мне нужно сравнить даты по двум моделям данных.

Я создал модель представления, которая включает в себя как данные курса, так и данные календаря, например CourseId, CourseName, CourseStartDate, CourseEndDate плюс CalendarId, CalendarName, CalendarStartDate и CalendarEndDate. В представлении я могу создать раскрывающийся список для календарей со значениями и текстовыми полями, соответствующими идентификатору и имени, например, 1 и осень 2018. Моя проблема в том, что мне нужно иметь возможность показывать соответствующие даты начала и окончания календаря, соответствующие выбранному календарю. С помощью веб-форм я мог бы добавить дополнительные скрытые столбцы в выпадающий список, но я не знаю, как это сделать с помощью MVC и Razor. Я хотел бы, чтобы даты Календаря были в текстовых полях только для чтения, чтобы они могли быть проверены моими классами проверки сравнения, прежде чем пытаться вставить новый ─ или обновить существующий ─ курс. Мне нужно, чтобы эти значения календарной даты менялись при изменении выбора в раскрывающемся списке.

...