【问题标题】:Kendo grid delete command not firing (MVC)剑道网格删除命令未触发(MVC)
【发布时间】:2013-06-23 19:17:30
【问题描述】:

我用删除命令设置了一个剑道网格。

当按下删除按钮时,只有删除操作永远不会触发。

这是我的代码:

查看:

@(Html.Kendo().Grid<portal.Models.UserVisitor>()
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(v => v.visitorName).Filterable(false).Title("Visitors");
        columns.Command(command => command.Destroy());
    })
    .Sortable()
    .Scrollable()
    .Filterable()
    .DataSource(dataSource => dataSource
        .Ajax()
        .ServerOperation(false)
        .Batch(true)
        .Model(model =>
        {
            model.Id(v => v.fkVisitorId);
            model.Field(v => v.visitorName).Editable(false);
        })
        .PageSize(20)
        .Read(read => read.Action("Visitors_Read", "Visitor"))
        .Destroy(update => update.Action("Visitors_Delete", "Visitor"))
     )
    .Resizable(resize => resize.Columns(true))
)

控制器访问者:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Visitors_Delete([DataSourceRequest] DataSourceRequest request,UserVisitor model)
    {
        return Json(ModelState.ToDataSourceResult());
    }        

有人知道这是怎么回事吗?

【问题讨论】:

    标签: asp.net-mvc-3 grid kendo-ui


    【解决方案1】:

    如果要让 Destroy 命令立即命中服务器,则需要使用内联编辑模式:

    @(Html.Kendo().Grid<portal.Models.UserVisitor>()
        .Name("grid")
        .Columns(columns =>
        {
            columns.Bound(v => v.visitorName).Filterable(false).Title("Visitors");
            columns.Command(command => command.Destroy());
        })
        .Sortable()
        .Scrollable()
        .Filterable()
        .Editable(editable => editable.Mode(GridEditMode.InLine))
        .DataSource(dataSource => dataSource
            .Ajax()
            .ServerOperation(false)
            .Batch(true)
            .Model(model =>
            {
                model.Id(v => v.fkVisitorId);
                model.Field(v => v.visitorName).Editable(false);
            })
            .PageSize(20)
            .Read(read => read.Action("Visitors_Read", "Visitor"))
            .Destroy(update => update.Action("Visitors_Delete", "Visitor"))
         )
        .Resizable(resize => resize.Columns(true))
    )
    

    【讨论】:

      【解决方案2】:

      尝试明确定义网格应采取的操作。

      .Destroy(update => update.Action("Visitors_Delete", "Visitor")).Type(HttpVerbs.Post))
      

      【讨论】:

      • 感谢布兰登的错字修复
      • 添加类型确实对我有用。看起来很有趣,因为他们在文档中没有任何关于这种方向的解释!给这个答案3个赞!标记它!
      猜你喜欢
      • 2013-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多