【问题标题】:Deleting multiple records in ASP.NET MVC using jqGrid使用 jqGrid 删除 ASP.NET MVC 中的多条记录
【发布时间】:2010-12-17 10:20:58
【问题描述】:

如何在 jqGrid 中启用多项选择,并允许用户使用 ASP.NET MVC 控制器删除所有选定的行?
我已将删除 url 属性设置为我的 /Controller/Delete 方法,如果选择了一条记录,这将正常工作。但是,如果选择了多条记录,它会尝试将空值发送回需要整数 id 的控制器。

【问题讨论】:

    标签: asp.net-mvc jqgrid


    【解决方案1】:

    你可以,但你必须为它写代码:

    deleteSelected: function(grid) {
        if (!grid.jqGrid) {
            if (console) {
                console.error("'grid' argument must be a jqGrid");
            }
            return;
        }
        var ids = grid.getGridParam('selarrrow');
        var count = ids.length;
        if (count == 0) return;
        if (confirm("Delete these " + count + " records?")) {
            $.post("DeleteMultiple",
                { ids: ids },
                function() { grid.trigger("reloadGrid") },
                "json");
        }
    }
    
        [HttpPost]
        public ActionResult DeleteMultiple(IEnumerable<Guid> ids)
        {
            if (!Request.IsAjaxRequest())
            {
                // we only support this via AJAX for now.
                throw new InvalidOperationException();
            }
            if (!ids.Any())
            {
                // JsonError is an internal class which works with our Ajax error handling
                return JsonError(null, "Cannot delete, because no records selected.");
            }
            var trans = Repository.StartTransaction();
            foreach (var id in ids)
            {
                Repository.Delete(id);
            }
            trans.Commit();
            return Json(true);
        }
    

    【讨论】:

      【解决方案2】:

      如果你想将数组参数传递给 mvc2,我想为 MVC2 和 jquery 1.4.2 更新这个:

      var ids = $("#grid").getGridParam('selarrrow'); var postData = { 值:ids }; if (confirm("删除这些 " + count + " 记录?")) { $.ajax({ 类型:“发布”, 传统的:真的, url: "GridDBDemoDataDeleteMultiple", 数据:postData, 数据类型:“json”, 成功:function() { $("#grid").trigger("reloadGrid") } }); }

      检查http://jquery14.com/day-01/jquery-14 ajax 部分 谢谢

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-27
        • 1970-01-01
        • 2014-12-26
        • 2015-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多