jQuery Datatable数据到MVC控制器 [英] Jquery Datatable data to mvc controller

查看:75
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆