Как взять Id из Json?

212
26 июля 2017, 22:24

Я использую плагин datatables, чтоб получить данные из бд в таблицу, я делаю ajax запрос и получаю json objects:

Так я получаю нужные данные из бд и передаю их во View:

 public ActionResult dataTablesData (BLL.Model.jQueryDataTableParamModel param)
        {
            var model = newsDbProv.GetAllData(param.iDisplayStart, param.iDisplayLength, param.iSortCol_0, param.sSortDir_0, param.sSearch);
            var result = model.News.ConvertAll(x => new {
                x.Id,
                x.FullTitle,
                x.FullArticle            
            });
            return Json(new {
                sEcho = param.sEcho,
                iTotalRecords = model.iTotalRecords,
                iTotalDisplayRecords = model.iTotalRecords,
                aaData = result

            }, JsonRequestBehavior.AllowGet);
        }

Вот, что происходить во View:

<table class="table table-bordered table-hover" id="myTable">
    <thead style="font-weight: bold; font-size: 18px">
        <tr>
            <td style="width: 10px" >Id</td>
            <td style="width: 200px">Title</td>
            <td>Article</td>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>

<script type="text/javascript">
    $(document).ready(function () {
        $('#myTable').DataTable({
            "bServerSide": true,
            "sAjaxSource": "dataTablesData",
            columns: [
                { data: 'Id' },
                { data: 'FullTitle' },
                { data: 'FullArticle' }
            ],
            "order": [[ 0, "desc" ]],
            select: {
                style: 'single'
            },
        });
    }); 
</script>

Мне надо сделать кнопки редактирования и удаления, по нажатию на кнопку должен передаваться Id в контроллер.

Вопрос: Как получить id из этой таблицы?

Answer 1

Мне удалось решить свою проблему с помощь плагина jQuery Redirect + ajax запрос.

Я добавил две кнопки:

<button class="btn btn-default" id="btn-edit">Edit</button>
<button class="btn btn-default" id="btn-delete">Delete</button>

Далее написал вот такой код:

$('#btn-delete').click(function () {
    var agreement = confirm('Are you sure, you want to delete this row?');
    var data = table.row('.selected').data().Id;
    if (agreement) {
        $.ajax({
            url: 'Delete/' + data,
            success: function () {
                table.rows($('#myTable tr.active')).remove().draw(false);
            }
        });
    }
});

$('#btn-edit').click(function () {
    var data = table.row('.selected').data().Id;
    $.redirect("Edit", { id: data }, "GET");
});

Так же у плагина datatables есть фреймовик editor для удаления и редактирования данных, но он платный.

READ ALSO
событие на клик по radio

событие на клик по radio

есть радио кнопка

185
Список стран и городов API

Список стран и городов API

Всем доброе время суток, на днях задался вопросом по поводу авто подтягивания информации из API или с чужой базы для Городов и Стран

386
new Date() не обновляет значения

new Date() не обновляет значения

Почему new Date возвращает одни и те же значения(одно и тоже время)? Нужно чтоб при добавление сообщения ему возвращалась соответствующие время(при...

169
Наложение background только на текст

Наложение background только на текст

Есть текстНа него надо наложить background так, чтобы он был только на тексте

220