Я использую DataTables.js в приложении ASP.NET MVC.Я хочу обрабатывать вещи на сервере в действии, но, похоже, данные из формы не отправляются в представлении для действия.Я построил некоторый код для проверки этого из этого примера: https://www.c -sharpcorner.com / article / using-datatables-grid-with-asp-net-mvc /
У меня естьпростое представление:
<body>
<div class="container">
<br />
<div style="width:90%; margin:0 auto;">
<table id="demoGrid" class="table table-striped table-bordered dt-responsive nowrap" cellspacing="0">
<thead>
<tr>
<th>CustomerID</th>
<th>CompanyName</th>
<th>ContactName</th>
</tr>
</thead>
</table>
</div>
</div>
</body>
DataTable настроен так:
$(document).ready(function () {
$("#demoGrid").DataTable({
"processing": true,
"serverSide": true,
"filter": true,
"orderMulti": false,
"pageLength": 5,
"ajax": {
"url": "/MOF2/Demo/LoadData",
"type": "POST",
"datatype": "json"
}
});
});
Действие еще не содержит много:
public ActionResult LoadData()
{
var draw = Request.Form.GetValues("draw").FirstOrDefault();
var start = Request.Form.GetValues("start").FirstOrDefault();
var length = Request.Form.GetValues("length").FirstOrDefault();
return View();
}
После прочтениябит на https://datatables.net/ и пример, упомянутый выше, я ожидал, что смогу получить некоторые значения здесь.Например, я ожидал, что length
будет 5. Хотя я ничего не получаю.Например, Request.Form.GetValues("length")
равно нулю.Если я проверю Request.Form.AllKeys
, я получу пустую строку.Что может вызвать это?Что необходимо для отправки данных формы с помощью JavaScript и Ajax, чтобы они могли быть прочитаны Request.Form.GetValues()
?
Примечание. Я скачал пример проекта, упомянутый в комментарии к примеру выше, и он работает, как и ожидалось.,Я также удалил большую часть кода, не использованного в примере, из этого проекта, и он все еще работает.Я не могу найти разницу между примером проекта и моим проектом.Пример проекта можно найти здесь: https://github.com/saineshwar/DataTablesGridExample