Связыватель модели по умолчанию для модели 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; }
}