0

令人抓狂... 尝试将 AJAX 读取与 Kendo Grid 结合使用。我已经对从模型传递下来的数据进行了很多绑定。我直接从 KendoUI 站点复制代码并进行调整以满足我的要求:

@(Html.Kendo().Grid<FaultReport2.Models.usp_CMC_TopIssues_Result>()
.Name("grid")
.Columns(columns =>
{
    columns.Bound(p => p.description).Title("Description");
    columns.Bound(p => p.responsible).Title("Responsibility");
    columns.Bound(p => p.charged_time).Title("Time");
    columns.Bound(p => p.responsible).Title("Responsible");
    columns.Bound(p => p.root_cause).Title("Root Cause");
    columns.Bound(p => p.counter_measure).Title("Countermeasure");
    columns.Bound(p => p.status).Title("Status");
})
.Pageable()
.DataSource(dataSource => dataSource
    .Ajax()
    .PageSize(10)
    .Read(read => read
        .Action("cmcTopIssues", "FaultInfo", new { equipment_id = Model.area_id, start_date = Model.start_date })
    )
)

)

read.Action() 的控制器代码:

        public ActionResult cmcTopIssues(int equipment_id, DateTime start_date)
    {
        var db = new Models.FAULTEntities1();

        var top_issues = db.usp_CMC_TopIssues(equipment_id, start_date).ToList();

        return Json(top_issues, JsonRequestBehavior.AllowGet);
    }

不工作。我验证我的 cmcTopIssues 方法正在被调用,并且 top_issues var 正在被填充。它只是不填充网格。

当我切换到本地并通过模型向下传递数据时,它工作正常。

任何帮助,将不胜感激。

4

1 回答 1

1

嗯,也许尝试修改您的操作方法,如下所示,以便您返回 Kendo 数据源结果:

public ActionResult cmcTopIssues([DataSourceRequest]DataSourceRequest request, int equipment_id, DateTime start_date)
{
    var db = new Models.FAULTEntities1();

    var top_issues = db.usp_CMC_TopIssues(equipment_id, start_date).AsEnumerable();

    return Json(top_issues.ToDataSourceResult(request));
}
于 2013-09-19T20:30:40.130 回答