【问题标题】:Checkbox from telerik mvc grid not getting checked来自telerik mvc网格的复选框未被选中
【发布时间】:2012-08-24 19:36:53
【问题描述】:

我使用 Telerik mvc 网格中的复选框。我面临的问题是我的复选框在第一次点击时没有被选中。在第二次单击时,它会被选中,但是在单击另一个复选框时,前一个复选框会被取消选中。我该如何解决这个问题。这是我使用的代码:

    @(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()

                                                                   )

【问题讨论】:

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


    【解决方案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);
                    })
    

    但这是一个很长的镜头。 希望这会有所帮助

    【讨论】:

    • 作为附录,checked 属性会在出现时选中该框,因此您要查找的可能更像 &lt;# if (IsAllowed==true) {#&gt; checked='checked' &lt;# } #&gt;
    猜你喜欢
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 2011-10-18
    相关资源
    最近更新 更多