来自telerik mvc网格的复选框未被检查

时间:2012-08-24 11:08:26

标签: c# asp.net-mvc razor telerik-mvc

我使用telerik mvc grid中的复选框。我遇到一个问题,我的复选框没有在第一次点击时检查。在第二次单击时,它会被检查,但在单击另一个复选框时,前一个复选框将被取消选中。我该如何解决这个问题。这是我使用的代码:

    @(Html.Telerik().Grid<PermissionMappingModel>()
                .Name("mAdministratorpermission-grid")
                .DataKeys(keys => keys.Add(m => m.Id))
                .Editable(editing => editing.Mode(GridEditMode.InCell))
                .ToolBar(commands =>
                {
                    commands.SubmitChanges().ButtonType(GridButtonType.Image).ImageHtmlAttributes(new { style = "margin-left:0" });

                })

                .Columns(columns =>
                {
                    columns.Bound(x => x.Id).Hidden(true);
                    columns.Bound(x => x.CategoryName).ReadOnly(true).Width(125);
                    columns.Bound(x => x.Name).ReadOnly(true).Width(200);
                    columns.Bound(x => x.IsAllowed)


                        .ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= IsAllowed #>' />").Width(15).Centered();  


                })

                                                                       .DataBinding(
                                                                       dataBinding => dataBinding.Ajax()
                                                                                       .Select("MAdminCustomerPermissionLoad", "Security")
                                                                                       .Update("MAdminSavePermission", "Security")
                                                                                       )

                                                                       .Groupable(grouping => grouping.Groups(groups => { groups.Add(c => c.CategoryName); }).Visible(false))
                                                                       .ClientEvents(events =>
                                                                       {
                                                                           events.OnDataBinding("OnMAdminPermissionViewDataBinding");
                                                                           events.OnSubmitChanges("OnMAdminPermissionSubmit");
                                                                           events.OnEdit("OnMAdminPermissionEdit");
                                                                       })

                                                                       .Sortable()

                                                                   )

1 个答案:

答案 0 :(得分:1)

好的,首先你需要改变:

.ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= IsAllowed #>' />")

有:

.ClientTemplate("<input type='checkbox' name='checkedRecords' checked='<#= IsAllowed #>' />")

那应该解决你的第一个问题。对于第二个,我可能建议启用多选,如:

.Selectable(selection =>
                {
                    selection.Enabled(true);
                    selection.Mode(GridSelectionMode.Multiple);
                })

但这是一个长镜头。 希望这有帮助