Запрос параметров строки в контроллере MVC ActionResult с использованием POST

У меня есть следующие параметры строки запроса метод POST, используя anularjs как

var req = {
           method: 'POST',
          url: "/UserGrid",
           params: {
                        rows : 15,
                        page: 1,
                        sidx : "ID",
                        sord: "DESC",
                        _search: true,
                        filters: {"groupOp":"AND","rules":[{"field":"username","op":"cn","data":"suz"}]}
                    }, 
                };
$http(req).success(function(data, status, headers, config){
     console.log(data)
 });

_search:true
filters:{"groupOp":"AND","rules":[{"field":"username","op":"cn","data":"suz"}]}
page:1
rows:3
sidx:ID
sord:desc

У меня есть следующий метод

 [HttpPost]
    public ActionResult UserGrid(bool _search, GridFilterHelper filters, int page, int rows, string sidx, string sord)
    {
         GridFilterHelper mFilters = filters;
         return Json(mFilters);
    }

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

вот класс grifilterHelper

public class GridFilterHelper
    {
        public string groupOp { get; set; }
        public List<Rules> rules { get; set; }
    }

    public class Rules
    {
        public string field { get; set; }
        public string op { get; set; }
        public string data { get; set; }
    }

1 ответ

Решение

Фильтры параметров строки запроса были строкой, а не объектом. Поэтому я изменяю его на Json из строки.

Другие вопросы по тегам