.NET Core 3.1 — MVC — List значения, не сопоставленные с угловой моделью

#model-view-controller #asp.net-core-mvc #angular9

#модель-представление-контроллер #asp.net-core-mvc #angular9

Вопрос:

У меня есть модель, определенная на стороне сервера .NET

 public class ProductRetributionData
{
    public int Id { get; set; }
    int product { get; set; }
    int type { get; set; }
    string data { get; set; }
}

public class RetributionPlan
{
    ...
    public List<ProductRetributionData> ProductRetributionData { get; set; }
}
  

и это аналог angular typescript

 export interface ProductRetributionData
{
    id: number,
    product:number;
    type: number,
    data: string,
}

export interface RetributionPlan 
{
  ...
  productRetributionData : ProductRetributionData[]
}
  

и когда я отправляю запрос POST

введите описание изображения здесь

сопоставлены все значения, но значения ВНУТРИ СПИСКА не

в Visual Studio, как ни странно, сопоставляется идентификатор, но 3 других значения пусты
, а поле типа по какой-то причине получает дополнительный @

введите описание изображения здесь

есть идеи, что я делаю не так?

Спасибо

Ответ №1:

Связыватель модели связывает только общедоступные свойства, доступные для записи. Кроме того, придерживайтесь стандартов C #, сделайте свойства PascalCase, связующее по умолчанию не чувствительно к регистру. Так что меняйся:

 public class ProductRetributionData
{
    public int Id { get; set; }
    int product { get; set; }
    int type { get; set; }
    string data { get; set; }
}
  

Для:

 public class ProductRetributionData
{
    public int Id { get; set; }
    public int Product { get; set; }
    public int Type { get; set; }
    public string Data { get; set; }
}
  

Комментарии:

1. Я перепробовал много разных поисковых запросов и не смог найти дубликат. Уверен, что на этот вопрос уже был дан ответ.