jQuery Datatable数据到MVC控制器 [英] Jquery Datatable data to mvc controller
本文介绍了jQuery Datatable数据到MVC控制器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好,我在尝试使用Ajax将Datatable数据发送到控制器时遇到了一些麻烦. 我有一个像这样的数据表:
Hi im having some troubles trying to send my Datatable Data to my controller using ajax. I have a datatable like this :
<table class=" w-100 mr-3 ml-3" id="mytable">
<thead>
<tr>
<th class="text-left">Code</th>
<th class="text-left">Date</th>
<th class="text-left">Colocacion</th>
<th class="text-left">Amount</th>
<th class="text-left">Bank</th>
<th class="text-left">Company</th>
</tr>
</thead>
<tbody>
@foreach (var obj in Model.List)
{
<tr>
<td class="text-left">@obj.Code</td>
<td class="text-left">@obj.Date</td>
<td class="text-left">@obj.Colocacion</td>
<td class="text-left">@obj.Amount/td>
<td class="text-left">@obj.Bank</td>
<td class="text-left">@obj.Company</td>
</tr>
}
</tbody>
</table>
}
你们能告诉我该怎么做吗?我试过了:
Can u guys tell me how to do this? I tried :
var data = $('#mytable').DataTable().data();
$.ajax({
type: 'POST',
url: '../CompraChequeDiferido/Acept',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
data: json.stringify(data),
});
对不起,我的英语.
推荐答案
您可以参考下面的演示将dataTable数据发布到控制器.
You could refer to my demo below to post dataTable data to controller.
1.假设我有一个Customer
类
public class Customer
{
public string EmailAddress { get; set; }
public string Description { get; set; }
}
2.在View中.获取dataTable数据并将其格式化为List
2.In View.Get dataTable data and format to List
@model IEnumerable<Customer>
<table class=" w-100 mr-3 ml-3" id="mytable">
<thead>
<tr>
<th class="text-left">EmailAddress</th>
<th class="text-left">Description</th>
</tr>
</thead>
<tbody>
@foreach (var obj in Model)
{
<tr>
<td class="text-left">@obj.EmailAddress</td>
<td class="text-left">@obj.Description</td>
</tr>
}
</tbody>
</table>
<input type="button" value="submit" id="button" />
@section Scripts{
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.js"></script>
<script type="text/javascript">
$(document).ready(function () {
function gettoken() {
var token = '@Html.AntiForgeryToken()';
token = $(token).val();
return token;
}
var table = $('#mytable').DataTable();
var dd = table.rows().data().toArray();
var data = new Array();
$.each(dd, function (index,value) {
var customer = {};
customer.EmailAddress = value[0];
customer.Description = value[1];
data.push(customer);
});
$.ajax({
type:"POST",
url: "/Home/PassData",
contentType: "application/json;",
headers: { 'RequestVerificationToken': gettoken() },
data: JSON.stringify(data),
success: function(){
alert('success');
},
error: function(){
alert('failure');
}
});
})
</script>
}
3.在控制器中
[HttpPost]
public async Task<IActionResult> PassData([FromBody] List<Customer> customers)
这篇关于jQuery Datatable数据到MVC控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文