Как отправить данные Ajax в контроллер MVC как объект с другим свойством - PullRequest
0 голосов
/ 17 июня 2020

Я создаю форму поиска, используя ajax post, и отправляю данные фильтра как объект для поддержки случая ниже

x> 100 OR (x> 1 AND x <10) OR (x> 15 AND x < 20)

данные фильтра:

"filters": {
                    "LogicalOperator" : "or",
                    "FilterDescriptors":
                    [
                        { "Member": "x", "Operator": "gt", "Value": 100 },
                        {
                          "LogicalOperator" : "and",
                          "FilterDescriptors":[
                            "Member": "x", "Operator": "gt", "Value": 1,
                            "Member": "x", "Operator": "lt", "Value": 10
                          ]
                        },
                        {
                          "LogicalOperator" : "and",
                          "FilterDescriptors":[
                            "Member": "x", "Operator": "gt", "Value": 15,
                            "Member": "x", "Operator": "lt", "Value": 20
                          ]
                        },
                    ]
         }

В контроллере у меня есть фильтры в качестве параметра

[HttpPost]
 public IActionResult GetX(CompositeSearch filters){
      // get data and apply filters
 }

в CompositeSearch Class есть

 public class CompositeSearch : IFilter {
        public String LogicalOperator {get;set;} 
        public List<IFilter> FilterDescriptors {get;set;}
 }

 public class FilterSearch : IFilter{
        public string Member {get; set;}
        public string Operator {get; set;}
        public object Value {get; set;}
 }

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

...