Datatables Ajax Data: отправить массив Json в ASP.NET контроллер

Я пытаюсь отправить данные в массив json ASP.NET контроллер. Я могу отправить данные на контроллер отлично, используя jQuery Ajax, но не могу сделать то же самое, используя Datatables.net Ajax.

Контроллер:

[HttpPost]
public JsonResult DataTablesHandler(DTParameters param, List<AdvancedSearch> advSearch)
{
    //code...
}

Datatables:

var dt = table.DataTable({
        columns: [],
        processing: true,
        serverSide: true,
        ajax: {
            type: 'POST',
            url: '/Controller/DataTablesHandler',
            data: function (d)
            {
                d.advSearch = advSearch;
            }
        }
    });

Массив Json:

advSearch = [{"column":"id","value":"1"},{"column":"name","value":"Jon Snow"}];

Параметр списка advsearch контроллеров всегда пуст.
Что я делаю не так?

1 ответ

  1. Так как я не смог отправить объект списка на мой контроллер, я закончил отправкой данных в виде строки и разбором значений в контроллере:

    [HttpPost]
    public JsonResult DataTablesHandler(DTParameters param, string advSearch)
    {
         ///convert JSON string to List<AdvancedSearch>
         var advSearchParams = JsonConvert.DeserializeObject<List<AdvancedSearch>>(advSearch);
    
         //(...)
    }