kendo datagrid不将排序字段参数发送到服务器(MVC中的控制器)



我有一个kendo datagrid。分页功能正常工作。但是,在单击列标题以对数据进行分类时,该控件一直在发送空白排序字段参数。

有趣的是,控件仍然发送排序方向,只是字段名称。

我已将"可排序"设置为True,DataSource,将ServerPaging设置为True,并为每列定义数据类型。我还有其他东西吗?

index.cshtml:

    <div class="k-rtl">
    @(Html.Kendo().Grid<KendoSample.Models.Person>()
   .Name("grid")
   .Columns(columns =>
    {
        columns.Bound(p => p.PersonId).Title("Person Code").Width(100).Sortable(true);
        columns.Bound(p => p.Name).Title("Person Name").Width(200).Sortable(true);
        columns.Bound(p => p.Family).Title("Person Family").Sortable(true);
    })
.Pageable()
.ToolBar(s => { s.Create(); })
.Scrollable()
.Sortable()
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
    .Ajax()
                            .Sort(sort =>
                            {
                                sort.Add(p => p.Name);
                                sort.Add(x => x.Family);
                            })
                            .Model(c => c.Id(p => p.PersonId))
                            .Create(c => c.Action("Read", "Home"))
                            .ServerOperation(true)
    .PageSize(8)
    .Read(read => read.Action("EditingPopup_read", "Home"))
 ).Sortable(c => c.AllowUnsort(false).SortMode(GridSortMode.SingleColumn))
 .Resizable(resize => resize.Columns(true))
 )
</div>

控制器:

        public ActionResult EditingPopup_read ([DataSourceRequest]DataSourceRequest request)
    {
        return Json(GetCustomers().ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
    }

firebug中的参数:

page    1
pageSize    8
skip    0
sort[0][dir]    asc
sort[0][field]  Name
take    8

但是在控制器中,类别为无效。请帮助我。

谢谢。我通过包括kendo.aspnetmvc.min.js解决了这个问题。请参阅链接

您的排序应该在sortable()中,不是吗?请检查他们的正式演示。

http://demos.kendoui.com/web/grid/sorting.html

最新更新