#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.
Кто-нибудь знает, как решить эту проблему?
С уважением