У меня есть одна форма для создания похожих предметов. Я упросту сценарий для демонстрации.
Вы можете создать один из множества «типов контента». Вы можете добавить «Файл», «Папка», «Объявление» и т. Д. Я бы использовал / home / addcontent? Contenttype = FILE, чтобы определить, какие параметры отображать в представлении.
Каждый элемент контента имеет следующее.
- Имя
- Описание (необязательно)
«Файл» также имеет:
- Элемент списка
- FilePath
Объявление также имеет:
- Приоритет
- DisplayHomepageFLG (необязательно)
Я мог бы добавить все это в одну модель представления со всеми аннотациями данных, но modelstate.isvalid почти никогда не будет истинным, поскольку каждый «тип содержимого» имеет уникальные свойства.
Есть ли какой-то программный способ добавления или исключения конкретных аннотаций данных, или мне нужно иметь отдельную модель представления и контроллер для каждого типа контента?