1

我有一个有子/子网格的网格。它工作正常,我可以添加和删除。但是,当我尝试运行 command.destroy 时,如果我在确认时按取消,它会再次触发(所以我必须再次按取消)。如果我选择确认,它不会再次弹出并在第一次尝试时将其删除。

我不确定是什么原因造成的,我不认为这是我的 CSHTML,但只需要第二个意见。

@(Html.Kendo().Grid<ModelA>()
.Name("Grid")

.Columns(columns => 
{
    columns.Bound(o => o.ID).Width(50);
    columns.Bound(o => o.Name).Width(300);
    columns.Bound(o => o.UpdateUser).Width(100);
    columns.Bound(o => o.UpdateDate).Format("{0:d}").Width(100);
    columns.Command(command => { command.Edit(); command.Destroy(); });

})
.ToolBar(toolbar => toolbar.Create())
.ClientDetailTemplateId("adTemplate")
.Pageable()
.Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("RoleTemplate"))
.DataSource(dataSource => dataSource
    .Ajax()
    .Read(read => read.Action("RoleRead", "Role"))
    .Update(update => update.Action("RoleUpdate", "Role"))
    .Create(create => create.Action("RoleCreate", "Role"))
    .Destroy(destroy => destroy.Action("RoleRemove", "Role"))
    .PageSize(10)
    .Model(model => 
    {
        model.Id(c => c.ID);
        model.Field(c => c.UpdateUser).Editable(false).DefaultValue(Context.User.Identity.Name);
        model.Field(c => c.UpdateDate).Editable(false).DefaultValue(DateTime.Now);
    })   
    )
.Sortable()
.Filterable()
)  

<script id="adTemplate" type="text/kendo-tmpl">
    @(Html.Kendo().Grid<ModelAChild>()
            .Name("Roles_#=ID#")
            .Columns(columns =>
            {
                columns.Bound(s => s.ActiveDirectoryGroup).Width(500);
                columns.Command(command => { command.Destroy(); });
            })
            .ToolBar(toolbar => toolbar.Create())
            .Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("RoleSecurityTemplate"))
            .DataSource(dataSource => dataSource
                .Ajax()
                .Read(read => read.Action("RoleReadSecurity", "Role", new { roleID = "#=ID#" }))
                .Create(create => create.Action("RoleAddSecurity", "Role", new { roleID = "#=ID#" }))
                .Destroy(destroy => destroy.Action("RoleRemoveSecurity", "Role", new { roleID = "#=ID#" }))
                .Model(model => 
                    {
                        model.Id(s => s.ID);
                        model.Field(s => s.UpdateUser).Editable(false).DefaultValue(Context.User.Identity.Name);
                        model.Field(s => s.UpdateDate).Editable(false).DefaultValue(DateTime.Now);
                    })    
                    )
            .Pageable()
            .Sortable()
            .ToClientTemplate())
</script>
4

1 回答 1

1

将您的版本更新到最新版本。这在某些版本之前已修复。

于 2012-12-05T21:28:03.477 回答