C# ASP.NET核心帖子数据未序列化自定义字段

C# ASP.NET核心帖子数据未序列化自定义字段,c#,asp.net-core,post,asp.net-web-api,C#,Asp.net Core,Post,Asp.net Web Api,我正在使用ASP.NETCore3.1和angular 我从对象模型向控制器方法发送post请求 控制器方法在输入端接受对象,但bindingParameters字段为空 bindingParameters字段是KeyValueItem对象的列表 TmObject.cs namespace v1.Atm { public class TmObject { [JsonProperty("id")] public int Id { get; set

我正在使用ASP.NETCore3.1和angular

我从对象模型向控制器方法发送post请求

控制器方法在输入端接受对象,但bindingParameters字段为空

bindingParameters字段是KeyValueItem对象的列表

TmObject.cs

namespace v1.Atm
{
    public class TmObject
    {
        [JsonProperty("id")]
        public int Id { get; set; }

        [JsonProperty("binding")]
        public string Binding { get; set; }

        [JsonProperty("sourceBindingParameters")]
        public string SourceBindingParameters { get; set; }

        [NotMapped]
        [JsonProperty("bindingParameters")]
        public List<TmKeyValueItem> BindingParameters
        {
            get
            {
                return JsonConvert.DeserializeObject<List<TmKeyValueItem>>(string.IsNullOrEmpty(SourceBindingParameters) ? "" : SourceBindingParameters);
            }
            set
            {
                SourceBindingParameters = JsonConvert.SerializeObject(value);
            }
        }

        [JsonProperty("caption")]
        public string Caption { get; set; }

        [JsonProperty("description")]
        public string Description { get; set; }

        [JsonProperty("name")]
        public string Name { get; set; }

        [JsonIgnore]
        public string SourceParameterGroups { get; set; }

        [NotMapped]
        [JsonProperty("parameterGroups")]
        public List<string> ParameterGroups
        {
            get
            {
                return JsonConvert.DeserializeObject<List<string>>(string.IsNullOrEmpty(SourceParameterGroups) ? "" : SourceParameterGroups);
            }
            set
            {
                SourceParameterGroups = JsonConvert.SerializeObject(value);
            }
        }

        [NotMapped]
        [JsonProperty("parameters")]
        public List<TmObjectParameter> Parameters;

        [NotMapped]
        [JsonProperty("removeParameters")]
        public List<int> RemoveParameters { get; set; }

        public TmObject()
        {
            Parameters = new List<TmObjectParameter>();
            RemoveParameters = new List<int>();
        }
    }
}

来自请求的
bindingParameters
不是
string
值的列表,而是复杂的对象。您最好为此对象创建一个类

public class BindingParameter
{
    public int Id { get; set; }

    public string Key { get; set; }

    public string Value { get; set; }

    public bool Visible { get; set; }
}
并声明财产如下:

public List<BindingParameter> BindingParameters{ get; set; }
公共列表绑定参数{get;set;}

很抱歉示例中的不准确。事实上,项目类型是正确的公共列表绑定参数。
public class BindingParameter
{
    public int Id { get; set; }

    public string Key { get; set; }

    public string Value { get; set; }

    public bool Visible { get; set; }
}
public List<BindingParameter> BindingParameters{ get; set; }