Kendo Grid - 不会绑定到远程数据MVC

时间:2013-09-19 17:59:17

标签: c# asp.net-mvc asp.net-mvc-4 kendo-grid kendo-asp.net-mvc

疯狂......试图利用Kendo Grid来利用AJAX读取。我对从模型传递下来的数据做了很多绑定。我直接从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正在被填充。它只是没有填充网格。

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

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

嗯,也许尝试修改你的操作方法,如here所示,这样你就可以返回一个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));
}