Cannot receive data of type list in c-sharp mvc Controller

the receiving method in the backend Controller is as follows:

[HttpPost]
public HttpResponseMessage BatchDoDistribute([FromBody]List<DistributeMaterial> list){
}

after passing the postman test, it is found that list can receive two objects, but neither of the specific property values of the object. As shown below:

use postman to test the post interface. The data format is as follows: application/json, test data

[{
    "StageName": "1",
    "ContainerID": "999",
    "ContainerTypeCode": "999",
    "ProduceOrderNO": "WH18060041",
    "OriginMaterialCode": "120400000009",
    "LastModifyPerson": "",
    "Location": "Cell-2-05-02",
    "MaterialInventoryCode": "120400000009",
    "IsSubstitutie": 0,
    "TotalNeedDistribute": 66.0,
    "ContainerCapacity": 20.0,
    "Quantity": 66.0,
    "ID": 0,
    "IsDispatch": 0,
    "ProduceLineStationID": 0,
    "ProduceLineID": 0,
    "WorkstageID": 24
},{
    "StageName": "2",
    "ContainerID": "999",
    "ContainerTypeCode": "999",
    "ProduceOrderNO": "WH18060041",
    "OriginMaterialCode": "120400000009",
    "LastModifyPerson": "",
    "Location": "Cell-2-05-02",
    "MaterialInventoryCode": "120400000009",
    "IsSubstitutie": 0,
    "TotalNeedDistribute": 66.0,
    "ContainerCapacity": 20.0,
    "Quantity": 66.0,
    "ID": 0,
    "IsDispatch": 0,
    "ProduceLineStationID": 0,
    "ProduceLineID": 0,
    "WorkstageID": 24
}]

how can I receive it?

Jul.04,2021
Is it caused by the inconsistency of

field names?


[Serializable]
public partial class ME_DistributeMaterial
{
    public ME_DistributeMaterial()
    { }
    -sharpregion Model
    private int _id;
    private string _materialinventorycode;
    private string _containertypecode;
    private string _containerid;
    //private decimal _quantity;//public decimal Quantity{get; set;}
    private string _produceorderno;
    private int _workstageid;
    private string _productinventorycode;
    private int _producelinestationid;
    private int _producelineid;
    private int _isdispatch;
    private DateTime? _dispatchtime;
    private string _lastmodifyperson;
    private DateTime _lastmodifytime;
    private string _location;
    private string _distributematerialbarcode;
    private int? _issubstitutie;
    private string _originmaterialcode;
    
    public int ID
    {
        set { _id = value; }
        get { return _id; }
    }
    
    public string MaterialInventoryCode
    {
        set { _materialinventorycode = value; }
        get { return _materialinventorycode; }
    }
    
    public string ContainerTypeCode
    {
        set { _containertypecode = value; }
        get { return _containertypecode; }
    }
    
    public string ContainerID
    {
        set { _containerid = value; }
        get { return _containerid; }
    }
    
    public decimal Quantity{get;set;}
    //{
    //    set { _quantity = value; }
    //    get { return _quantity; }
    //}
    
    public string ProduceOrderNo
    {
        set { _produceorderno = value; }
        get { return _produceorderno; }
    }
    
    public int WorkstageID
    {
        set { _workstageid = value; }
        get { return _workstageid; }
    }
    
    public string ProductInventoryCode
    {
        set { _productinventorycode = value; }
        get { return _productinventorycode; }
    }
    
    public int ProduceLineStationID
    {
        set { _producelinestationid = value; }
        get { return _producelinestationid; }
    }
    
    public int ProduceLineID
    {
        set { _producelineid = value; }
        get { return _producelineid; }
    }
    
    public int IsDispatch
    {
        set { _isdispatch = value; }
        get { return _isdispatch; }
    }
    
    public DateTime? DispatchTime
    {
        set { _dispatchtime = value; }
        get { return _dispatchtime; }
    }
    
    public string LastModifyPerson
    {
        set { _lastmodifyperson = value; }
        get { return _lastmodifyperson; }
    }
    
    public DateTime LastModifyTime
    {
        set { _lastmodifytime = value; }
        get { return _lastmodifytime; }
    }
    
    public string Location
    {
        set { _location = value; }
        get { return _location; }
    }
    
    public string DistributeMaterialBarcode
    {
        set { _distributematerialbarcode = value; }
        get { return _distributematerialbarcode; }
    }
    
    public int? IsSubstitutie
    {
        set { _issubstitutie = value; }
        get { return _issubstitutie; }
    }
    
    public string OriginMaterialCode
    {
        set { _originmaterialcode = value; }
        get { return _originmaterialcode; }
    }
    -sharpendregion Model

    -sharpregion Extend
    
    public string ProductInvName { get; set; }
    
    public string LineName { get; set; }
    
    public string StageName { get; set; }
    
    public decimal ContainerCapacity { get; set; }
    
    public decimal TotalNeedDistribute { get; set; }
    -sharpendregion

    -sharpregion ExtendMethod
    public static ME_DistributeMaterial Construct(System.Data.DataRow row)
    {
        if (row == null)
            return null;

        try
        {
            Tracker.Model.ME_DistributeMaterial model = new Tracker.Model.ME_DistributeMaterial();
            if (row["ID"] != null && row["ID"].ToString() != "")
            {
                model.ID = int.Parse(row["ID"].ToString());
            }
            if (row["MaterialInventoryCode"] != null)
            {
                model.MaterialInventoryCode = row["MaterialInventoryCode"].ToString();
            }
            if (row["ContainerTypeCode"] != null)
            {
                model.ContainerTypeCode = row["ContainerTypeCode"].ToString();
            }
            if (row["ContainerID"] != null)
            {
                model.ContainerID = row["ContainerID"].ToString();
            }
            if (row["Quantity"] != null && row["Quantity"].ToString() != "")
            {
                model.Quantity = decimal.Parse(row["Quantity"].ToString());
            }
            if (row["ProduceOrderNo"] != null)
            {
                model.ProduceOrderNo = row["ProduceOrderNo"].ToString();
            }
            if (row["WorkstageID"] != null && row["WorkstageID"].ToString() != "")
            {
                model.WorkstageID = int.Parse(row["WorkstageID"].ToString());
            }
            if (row["ProductInventoryCode"] != null)
            {
                model.ProductInventoryCode = row["ProductInventoryCode"].ToString();
            }
            if (row["ProduceLineStationID"] != null && row["ProduceLineStationID"].ToString() != "")
            {
                model.ProduceLineStationID = int.Parse(row["ProduceLineStationID"].ToString());
            }
            if (row["ProduceLineID"] != null && row["ProduceLineID"].ToString() != "")
            {
                model.ProduceLineID = int.Parse(row["ProduceLineID"].ToString());
            }
            if (row["IsDispatch"] != null && row["IsDispatch"].ToString() != "")
            {
                model.IsDispatch = int.Parse(row["IsDispatch"].ToString());
            }
            if (row["DispatchTime"] != null && row["DispatchTime"].ToString() != "")
            {
                model.DispatchTime = DateTime.Parse(row["DispatchTime"].ToString());
            }
            if (row["LastModifyPerson"] != null)
            {
                model.LastModifyPerson = row["LastModifyPerson"].ToString();
            }
            if (row["LastModifyTime"] != null && row["LastModifyTime"].ToString() != "")
            {
                model.LastModifyTime = DateTime.Parse(row["LastModifyTime"].ToString());
            }
            if (row["DistributeMaterialBarcode"] != null)
            {
                model.DistributeMaterialBarcode = row["DistributeMaterialBarcode"].ToString();
            }
            if (row["LineName"] != null)
            {
                model.LineName = row["LineName"].ToString();
            }
            if (row["TypeName"] != null)
            {
                model.ProductInvName = row["TypeName"].ToString();
            }
            if (row["StageName"] != null)
            {
                model.StageName = row["StageName"].ToString();
            }
            return model;
        }
        catch (System.Exception ex)
        {
            // Log
            Console.WriteLine(ex.Message);
        }
        return null;
    }
    -sharpendregion
}
Menu