剑道网格DataSourceRequest参数异常尝试排序

本文关键字:排序 异常 参数 网格 DataSourceRequest | 更新日期: 2023-09-27 18:01:19

我使用这个代码来获取我的数据并将其推送到Kendo Grid

public ActionResult Read([DataSourceRequest] DataSourceRequest request)
{
    return Json(GetData(request), JsonRequestBehavior.AllowGet);
}
private DataSourceResult GetData(DataSourceRequest request)
{
    var Items = _db.Item.Local.ToDataSourceResult(request, x => new
    {
        ID = x.ID,
        Title = x.Title,
        LastEdited = x.User.LoginName,
        Category = x.CategoryItem.Title,
        DateEdited = x.DateEdited
    });
    return Items;
}

在网格视图中不使用任何模型,让网格解决所有问题。这一切都可以工作,我也可以浏览网页。然而,当我添加一个排序方法时,它会抛出这个异常,例如:

Invalid property or field - 'Category' for type: Item

并且每个后续请求都失败,因为它在DataSourceRequest中有排序,直到我重新加载页面以清除请求。在配置方面,我是否遗漏了一些需要添加到代码中的内容?

剑道网格DataSourceRequest参数异常尝试排序

是的,因为你的网格告诉datasourcerresult, "I'll sort by Category " .

但是在您的DataSource (_db.Item.Local)中,它没有任何名为"Category"的字段。

(your x => new{Category = x. categoryitem。标题,}只需在"排序"完成后选择类别)。

那么,你可以尝试这样做:

_db.Item.Local.Select(x=> new {
    Category = x.CategoryItem.Title
    }).ToDataSourceResult(request)