Мне нужен список различных (производных) типов объектов, работающих с привязкой по умолчанию для модели в Asp.net MVC 2.
У меня есть следующая модель представления:
public class ItemFormModel
{
[Required(ErrorMessage = "Required Field")]
public string Name { get; set; }
public string Description { get; set; }
[ScaffoldColumn(true)]
//public List<Core.Object> Objects { get; set; }
public ArrayList Objects { get; set; }
}
И список содержит объекты различных производных типов, например,
public class TextObject : Core.Object
{
public string Text { get; set; }
}
public class BoolObject : Core.Object
{
public bool Value { get; set; }
}
Неважно, если я использую реализацию List или ArrayList, все get красиво создается в форме, но связыватель моделей не разрешает мне свойства производного типа объекта при отправке обратно в ActionResult.
Что может быть хорошим решением для структуры Viewmodel для получения списка различных типов объектов? Наличие дополнительного списка для каждого типа объекта (например, «Список», «Список» и т. Д.), Кажется, не является хорошим решением для меня, поскольку это приводит к большим накладным расходам как при создании модели представления, так и при сопоставлении ее с моделью домена.
Размышляя о другом подходе связывания всех свойств в пользовательском связывателе модели, как я могу использовать подход аннотаций данных здесь (проверка требуемых атрибутов и т. Д.) Без больших накладных расходов?