Таблицы данных в серверной ajax-фильтрации страниц Razor

#javascript #c# #html #ajax #razor-pages

Вопрос:

У меня проблема с таблицами данных при обработке на стороне сервера с использованием ajax и пользовательских фильтров. Проблема в том, что у меня есть такой фильтр

  <div class="form-group col-3 filter_col1" data-column="1">
     <label for="date">Název</label>
     <input class="form-control column_filter" value="@NameFilter" name="col1_filter" id="col1_filter" />
 </div>
 

Вот как выглядит инициализация таблицы

 $('#datagrid').DataTable({
    "pagingType": "full_numbers",
    searching: false,
    "processing": true,
    "serverSide": true,
    "language": {
        "sProcessing": "Provádím...",
        "sLengthMenu": "Zobraz záznamů _MENU_",
        "sZeroRecords": "Žádné záznamy nebyly nalezeny",
        "sInfo": "Zobrazuji _START_ až _END_ z celkem _TOTAL_ záznamů",
        "sInfoEmpty": "Zobrazuji 0 až 0 z 0 záznamů",
        "sInfoFiltered": "(filtrováno z celkem _MAX_ záznamů)",
        "sInfoPostFix": "",
        "sSearch": "Hledat:",
        "emptyTable": "Nenalezeny žádné záznamy",
        "sUrl": "",
        "oPaginate": {
            "sFirst": "První",
            "sPrevious": "Předchozí",
            "sNext": "Další",
            "sLast": "Poslední"
        },

    },
    "ajax": {
        url: "?handler=Filter",
        type: 'POST',
        headers: { 'RequestVerificationToken': $('@Html.AntiForgeryToken()').val() }
    },
    "columnDefs": [
        //{
        //    "targets": -1,
        //    "data": null,
        //    "render": function (data, type, row, meta) {
        //        return '<a href="/customers/edit/'   row.id   '">Edit</a> | <a href="/customers/details/'   row.id   '">Details</a> | <a href="/customers/delete/'   row.id   '">Delete</a>';
        //    },
        //    "sortable": false
        //},
        { "name": "Id", "data": "id", "targets": 0, "visible": false },
        { "name": "Name", "data": "name", "targets": 1 },
        { "name": "State", "data": "state", "targets": 2 },
        { "name": "CreationDate", "data": "creationDate", "targets": 3 },
        
    ],
    "order": [[0, "desc"]]

});
 

И вот как используется фильтр

 (document).ready(function () {
    oTable = $('#datagrid').DataTable();
    $('#btnFilter').click(function () {
        oTable.columns(1).search($('#col1_filter').val().trim());

        oTable.draw();
    });  
});
 

с таблицей, чтобы ввести его значения в запрос.Форма в контроллере выглядит так

 Request.Form.GetValues("columns[1][search][value]").FirstOrDefault(); 
 

Это значение всегда пусто, хотя оно задано javascript.

Кто-нибудь знает, как решить эту проблему?

С уважением