Связыватель модели по умолчанию для модели asp.net для модели с наследованием

У меня есть форма, к которой я привязан, которая имеет следующую структуру:

public class Status
{
   public List<ABCAttachment> ABCAttachments_Files { get; set; }
}

public class Attachment
{
  public string Id { get; set; }
}

public class ABCAttachment : Attachment
{
   string Name { get; set; }
}

Мое действие выглядит так:

public ActionResult SaveAttachment(Status status)
{
  ....
}

Данные поступают в виде

ABCAttachments_Files[0].Id="0", ABCAttachments_Files[0].Name="test" 

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

1 ответ

Решение

Выглядит как Name собственность должна быть публичной, иначе она не будет ограничена:

public class ABCAttachment : Attachment
{
   string Name { get; set; }
}

должно быть

public class ABCAttachment : Attachment
{
   public string Name { get; set; }
}
Другие вопросы по тегам