asp.net-mvc - 删除一行后刷新Jquery数据表

标签 asp.net-mvc datatables asp.net-ajax

我有一个显示表(角色)中的数据的数据表,我使用 ajax 调用删除一行:

 function OnDeleteClick(el) 
    {
        //var url = ($(this).attr('href'));
        //alert(url);
        //var employeeId = event.getAttribute(id); //e.target.id
        //var url = ($(this).attr('id'));      
        var id = $(el).attr('id');       
        var roleid = getURLParameter(id, 'id');        
        var username = getURLParameter(id, 'name');        
        var flag = confirm('You are about to delete Role ' + username + ' permanently.Are you sure you want to delete this record?');

        if (flag) { 
            $.ajax({ 
                url: '/Role/DeleteAJAX', 
                type: 'POST', 
                data: { roleId: roleid },
                dataType: 'json', 
                //success: function (result) { alert(result); $("#" + Name).parent().parent().remove(); },
                success: function (result) {
                    alert(result); 
                },
                error: function () { alert('Error!'); } 
            }); 
        } 
        return false; 
    }

我的问题是删除成功后如何刷新jquery数据表,这样删除的行也会从数据表中删除?

下面是我用来构建我的 JQuery 数据表的代码:
<div class="row" >
    <fieldset class="col-md-10 col-md-offset-1" >
        <legend>Liste des rôles </legend>
        <div class="table-responsive" style="overflow-x: hidden;">
            <table width="98%" class="table table-bordered table-hover" id="dataTables-example">
                <thead>
                    <tr>
                        <th>Designation Role</th>
                        <th></th>
                    </tr>
                </thead>
                <tbody>
                    @foreach (var item in Model)
                    {
                        <tr>
                            <td>
                                @item.Name
                            </td>
                            <td width="110">                                
                                <a class="btn btn-custom btn-xs" href="" onclick="return getbyID('@item.Id',false)" title="consulter">
                                    <i class="fa fa-folder-open-o"></i>
                                </a>
                                <a class="btn btn-custom btn-xs" href="" onclick="return getbyID('@item.Id',true)" title="Editer">
                                    <i class="fa fa-edit"></i>
                                </a>
                                <a class="btn btn-custom btn-xs" onclick="OnDeleteClick(this);" id="#?id=@item.Id&name=@item.Name" title=" supprimer">
                                    <i class="fa fa-trash-o"></i>
                                </a>
                            </td>
                        </tr>
                    }
                </tbody>
            </table>
        </div>
        <div class="b-right">
            <button type="button" class="btn btn-primary" onclick="location.href='@Url.Action("Create", "Role")'">
                <i class="fa fa-plus"></i> Ajouter un role
            </button>
        </div>        
    </fieldset>
</div>

谢谢你的帮助。

最佳答案

如果您正在使用 DataTables.net并且您使用 AJAX 数据源构建了这样的表:

var myTable = $("#myTable").DataTable({ ajax: "path/to/my/data" });

您可以像这样刷新表中的数据:
$.ajax({ 
    <your deleting code>
    success: function() {
        myTable.ajax.reload();
    })
});

如果您使用来自 MVC 的 View 模型使用 Razor 构建了您的表,您将需要 1) 在成功回调中重新加载页面:
$.ajax({ 
    <your deleting code>
    success: function() {
        window.location.reload();
    })
});

或者 2) 从 DOM 中删除该行,知道它已经从数据库中删除,以保持数据库和 UI 同步:
$.ajax({ 
    <your deleting code>
    success: function() {
        myTable.row($(el).parents("tr")).remove().draw();
    })
});

关于asp.net-mvc - 删除一行后刷新Jquery数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42146729/

相关文章:

asp.net-mvc - 如何在 MVC .NET 中检测关机并在关机执行前运行代码

asp.net - 如果/何时使用 "Azure Session State Provider (redis)"不需要使用 User.Identity.Name/IsAuthenticated?

asp.net-mvc - 'Controller' 是命名空间,但用作类型

asp.net - 优雅的 WebForms、AJAX 和提示弹出窗口

c# - ASP.Net MVC 6 中的依赖注入(inject) (DI)

jquery - 排序(按字母顺序)以忽略空单元格 : dataTables

jquery - 数据表单列搜索与滚动不兼容

jquery - 更改 jQuery Datatable 中分页信息的措辞

javascript - $get 和 $find 函数有什么区别?

c# - Ajax 脚本管理器阻止了 jquery?