Asp.net mvc 3 MVC3 Telerik网格-如何将所有行提交给控制器?

Asp.net mvc 3 MVC3 Telerik网格-如何将所有行提交给控制器?,asp.net-mvc-3,telerik,Asp.net Mvc 3,Telerik,默认情况下,Telerik Grid for MVC3只向我的控制器提交标记为“脏”的行。我需要能够将Telerik网格上的所有行提交给我的控制器。换句话说,我认为我需要将所有行标记为已更改,以便网格将所有行发送到我的控制器 我正在使用Ajax数据绑定,如下所示: .DataBinding(DataBinding=>DataBinding .Ajax() .Select(“GetData”,“ModuleAccess”,新建{roleId=@ViewBag.roleId,appId=@ViewB

默认情况下,Telerik Grid for MVC3只向我的控制器提交标记为“脏”的行。我需要能够将Telerik网格上的所有行提交给我的控制器。换句话说,我认为我需要将所有行标记为已更改,以便网格将所有行发送到我的控制器

我正在使用Ajax数据绑定,如下所示:

.DataBinding(DataBinding=>DataBinding .Ajax() .Select(“GetData”,“ModuleAccess”,新建{roleId=@ViewBag.roleId,appId=@ViewBag.appId}) .Update(“SaveBatchEditing”、“ModuleAccess”)

@(Html.Telerik().Grid())
.名称(“订单网格”)
.ClientEvents(events=>events.OnDataBinding(“OnDataBinding”))
.DataKeys(keys=>
{
key.Add(x=>x.Id);
})
.工具栏(命令=>
{
commands.SubmitChanges();
})
.DataBinding(数据绑定=>
Ajax()
.选择(“BulkEditSelect”、“ProductVariant”)
.更新(“BulkEditSaveBarcode”、“ProductVariant”)
.删除(“删除条形码”、“产品变量”)
)
.列(列=>
{
columns.Bound(x=>x.Id).ReadOnly();
columns.Bound(x=>x.SKU);
columns.Bound(x=>x.barcode);
//columns.Bound(x=>x.Id)
//.Template(x=>Html.ActionLink(T(“Admin.Common.View”).Text,“DeleteBarcode”,新的{id=x.id}))
//.ClientTemplate(“”)
//.宽度(50)
//
//.HeaderTemplate(“删除条形码”)
//.可过滤(错误)
//.标题(“删除”);
commands=>commands.Delete()).Width(180);
})
.Pageable(设置=>settings.PageSize(gridPageSize).Position(GridPagerPosition.Both))
.DataBinding(DataBinding=>DataBinding.Ajax().Select(“条形码列表”、“产品变量”、模型))
.Editable(editing=>editing.Mode(GridEditMode.InCell))
.EnableCustomBinding(真)
)
像这样使用代码

我找到了答案:

function ModuleAccessGridHasChanges() {
        var grid = $("#ModuleAccessGrid").data("tGrid");
        if (grid != null) {
                var additionalValues = grid.data;
                if (!$.telerik.trigger(grid.element, 'submitChanges', { values: additionalValues })) {
                    grid.sendValues($.extend({}, additionalValues), 'updateUrl', 'submitChanges');
            }
        }
    }
Fiddler显示网格的所有数据:

您的代码示例不适用于我。它的哪一部分告诉网格在更新时将所有行发送给控制器?
function ModuleAccessGridHasChanges() {
        var grid = $("#ModuleAccessGrid").data("tGrid");
        if (grid != null) {
                var additionalValues = grid.data;
                if (!$.telerik.trigger(grid.element, 'submitChanges', { values: additionalValues })) {
                    grid.sendValues($.extend({}, additionalValues), 'updateUrl', 'submitChanges');
            }
        }
    }