как сохранить мои данные данных ASP.NET MVC 5 - PullRequest
0 голосов
/ 17 декабря 2018

Мне нужно сохранить все данные, которые есть в моем datatable

Как я могу добавить общую кнопку, которая хранит все в моем файле данных?

Это в моем текущем Project:

var table = $('#listaDocumentos').DataTable({
    dom: 'Bfrtip',
    buttons: [
        'copy', 'csv', 'excel', 'pdf'
    ],
    language: {
        "decimal": "",
        "emptyTable": "No hay información",
        "info": "Mostrando _START_ a _END_ de _TOTAL_ Documentos",
        "infoEmpty": "Mostrando 0 to 0 of 0 Documentos",
        "infoFiltered": "(Filtrado de _MAX_ total entradas)",
        "infoPostFix": "",
        "thousands": ",",
        "lengthMenu": "Mostrar _MENU_ Documentos",
        "loadingRecords": "Cargando...",
        "processing": "Procesando...",
        "search": "Buscar:",
        "zeroRecords": "Sin resultados encontrados",
        "paginate": {
            "first": "Primero",
            "last": "Ultimo",
            "next": "Siguiente",
            "previous": "Anterior"
        }
    }
});
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.5.2/css/buttons.dataTables.min.css"> <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.5.2/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.5.2/js/buttons.flash.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/pdfmake.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/vfs_fonts.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.5.2/js/buttons.html5.min.js"></script>

<table id="listaDocumentos" class="table table-striped table-bordered" style="width:100%">
    <thead>
        <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Age</th>
            <th>Start date</th>
            <th>Salary</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Tiger Nixon</td>
            <td>System Architect</td>
            <td>Edinburgh</td>
            <td>61</td>
            <td>2011/04/25</td>
            <td>$320,800</td>
        </tr>
        <tr>
            <td>Donna Snider</td>
            <td>Customer Support</td>
            <td>New York</td>
            <td>27</td>
            <td>2011/01/25</td>
            <td>$112,000</td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Age</th>
            <th>Start date</th>
            <th>Salary</th>
        </tr>
    </tfoot>
</table>

1 Ответ

0 голосов
/ 17 декабря 2018

Что я понимаю из вашего вопроса, так это то, что вам нужно сохранить данные, которые в данный момент отображаются в представлении (HTML-страница) в табличном формате.

В этом случае вы можете использовать jquery или javascript, как показано ниже, чтобы получитьdata.

var table = $("table tbody");

table.find('tr').each(function (i) {
// comment loop through the tr and get value of every td within this tr tag
var tds = $(this).find('td');
var  Name = $tds.eq(0).text();
var Position = $tds.eq(1).text();
var office = $tds.eq(2).text();
var age = $tds.eq(3).text();
var startPosition = $tds.eq(4).text();
var salary = $tds.eq(5).text();
});

Затем привяжите соответствующую кнопку, как

<input type="button" id="btn_data_save" value="Save Data"/>

Затем вызов ajax для передачи данных на сервер.При этом вызове вам нужно собрать все значения и построить массив объектов.

$(document).on('click','#btn_data_save', function(){
    var ary=[];

    var table = $("table tbody");
    table.find('tr').each(function (i) {
    var obj={};
    obj.tds = $(this).find('td');
    obj.name = $tds.eq(0).text();
    obj.position = $tds.eq(1).text();
    obj.office = $tds.eq(2).text();
    obj.age = $tds.eq(3).text();
    obj.startPosition = $tds.eq(4).text();
    obj.salary = $tds.eq(5).text();
    ary.Push(obj);
 });

$.ajax({ 
     type: 'POST', 
     url: '', 
     data: { list: JSON.stringify(ary) }, 
     dataType: 'json',
     success: function (data) {      
   }
});
});

Наконец, в контроллере

[HttpPost]
public ActionResult SaveData(string list)
{
    //comment do your work    
}

Пожалуйста, прокомментируйте, если вы не понимаете решение.я опишу при необходимости.

...