0

我有一个带有子网格的 Jqgrid。在子网格上,我使用 asp.net mvc 3 应用了添加和删除功能。代码如下:

 onSelectRow: function () {
                        var myGrid = $("#" + subgrid_table_id),
                        selRowId = myGrid.jqGrid('getGridParam', 'selrow'),
                        celValue = myGrid.jqGrid('getCell', selRowId, 'PermissionID');
                        permissionID = celValue;
                    }
                });
                $("#" + subgrid_table_id).jqGrid('navGrid', '#' + subgrid_div_id,
            { add: true, del: true, edit: false, search: false },
            { width: '250', url: '@Url.Action("Update", "Role")' },
            { width: '250', url: '/Controler/Action/' + row_id },
            { width: '250', url: "/Controler/Action//" + row_id + "/" + permissionID });

权限 ID 被全局定义为 0。但是当我按下网格的删除按钮时,它没有将权限 ID 的新值传递给控制器​​。当我调试它时,它成功地更改了权限 ID。

有谁知道什么问题?

谢谢

4

1 回答 1

0

多亏了 Oleg ,解决方案有点不同。代码如下:

$("#" + subgrid_table_id).jqGrid('navGrid', '#' + subgrid_div_id,
    { add: true, del: false, edit: false, search: false },
    { width: '250', url: '/Controler/Action' },
    { width: '250', url: '/Controler/Action/' + row_id })
    .navButtonAdd('#' + subgrid_div_id, {
        caption: '',
        tooltip: 'Delete row',
        buttonicon: "ui-icon-trash",
        onClickButton: function () {
            var myGrid = $("#" + subgrid_table_id);
            var selRowId = myGrid.jqGrid('getGridParam', 'selrow');
            var celValue = myGrid.jqGrid('getCell', selRowId, 'PermissionID');
            if (selRowId === null && celValue === false) {
                alert("Please select row");
                return;
            }
            $.post("/Controler/Action",{"roleid":id1,"id2":selRowId,"id3":celValue},
            function (data) {
                if (data == true) {
                    alert("Association Deleted");
                    $("#" + subgrid_table_id).trigger("reloadGrid");
                }
                else {
                    alert("An error occured");
                }
            });
        },
        position: 'last'
    });
于 2011-08-11T11:15:22.330 回答