Обновление DataTable без ajax - PullRequest
0 голосов
/ 19 марта 2020

Я использую ASP. Net Core для создания таблицы, которая реализует CURD. Таблица была создана с использованием библиотеки DataTables

Проблема в Я хочу обновить sh таблицу без вызова метода ajax.reload(). Я попытался использовать .Draw(), и он не перезагружает / обновляет таблицу!

В качестве примера я хочу, чтобы DataTable отображал / refre sh при удалении одной строки


CURD Таблица:

    <table class="table table-hover" id="forumIndexTable">
        <thead>
            <tr>
                <th>Forum</th>
                <th>Posts/Users</th>
                <th>Description</th>
                @if (User.IsInRole("Admin"))
                {
                    <th>Edit/Delete Forum</th>
                }
            </tr>
        </thead>
        <tbody id="tbody">
            @foreach (var forum in Model.ForumList)
            {
                <tr id="row_@forum.Id">
                    <td>
                        <div class="forumLogo" style="background-image:url(@forum.ImageUrl)"></div>

                        <div class="forumData">
                            <div class="forumTitle">
                                <a asp-controller="Forum" asp-action="Topic" asp-route-id="@forum.Id" id="testTitle">@forum.Title</a>
                            </div>
                            <div class="forumSubTitle">
                                @if (forum.HasRecentPost)
                                {
                                    <div class="hasRecentPost"><span>Hot</span></div>
                                }
                            </div>
                        </div>
                    </td>

                    <td>
                        <div class="forumPostCount">
                            @forum.NumberOfPosts Posts
                        </div>
                        <div>
                            @forum.NumberOfUsers  Users
                        </div>
                    </td>
                    <td>
                        <div class="forumDescription">
                            @forum.Description
                        </div>
                    </td>

                    @if (forum.isAdmin)
                    {
                        <td>
                            <span class="btn btn-danger" onclick="ConfirmDelete(@forum.Id,'@forum.Title')"><i class="fa fa-trash"></i> Delete</span>
                            <span class="btn btn-warning" onclick="AddOrEditForumDialog('@Url.Action("AddOrEdit","Forum")/@forum.Id')"><i class="fa fa-edit"></i> Edit</span>
                        </td>

                    }

                </tr>
            }
        </tbody>
    </table>

JQuery Функция для создания DataTable:

     $(function() {
   $dataTable = $("#forumIndexTable").DataTable({

   });
 });

Пример удаления функции:

   var DeleteForum = function () {
    $('#loaderDiv').show();

    var ForumId = $('#hiddenForumId').val();

    $.ajax({
        url: "/Forum/Delete",
        type: 'Delete',
        data: { forumId: ForumId },
        success: function (message) {
            // Here should render/refersh the DataTable 
        }
    })


  $('#MyEditModal').modal('hide');


}
...