MVC Telerik网格不绑定仅在浏览器中显示json数据

时间:2016-02-25 20:00:20

标签: json asp.net-mvc telerik-grid telerik-mvc

我正在尝试使用telerik网格显示从控制器操作返回的json数据,但它只显示浏览器窗口中的实际json数据。

  1. 我应该在阅读后打电话给.BindTo吗?
  2. 我在行动中做错了什么?
  3. 我发现这一切都错了吗?

        [HttpGet]
    public ActionResult ReadLeads([DataSourceRequest]DataSourceRequest request)
    {
    
    
        var model = new RecordLookupViewModel();
    
        using (var db = new RGI_MasterEntities())
        {
    
            db.Configuration.ProxyCreationEnabled = false;
    
            var results = db.tblMasterLeads
                .Where(
                    x => (model.FirstName == null || x.FirstName.Equals("Eric"))
                         && (model.RecordType == null || x.MasterLeadType.Equals("Responder"))
                )
                .Select(s => new LookupGridResults
                {
                    FirstName = s.FirstName,
                    LastName = s.LastName,
                    City = s.city,
                    State = s.state,
                    County = s.county,
                    Zip = s.zip
                }).Take(10);
    
            var result = results.ToDataSourceResult(request);
    
            return Json(result, JsonRequestBehavior.AllowGet);
    
        }
    } 
    
  4. 她是网格的视图代码。

                                    @(Html.Kendo().Grid<LookupGridResults>()
    .Name("grid")
    .AutoBind(false)
    .Columns(columns =>
    {
        columns.Bound(p => p.FirstName).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains"))).Width(225);
        columns.Bound(p => p.LastName).Width(225).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")));
        columns.Bound(p => p.City).Width(225).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")));
        columns.Bound(p => p.County).Width(225).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")));
        columns.Bound(p => p.State).Width(225).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")));
        columns.Bound(p => p.Zip).Width(225).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")));
    })
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable(ftb => ftb.Mode(GridFilterMode.Row))
    .HtmlAttributes(new { style = "height:550px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .ServerOperation(true)
        .Read(read => read.Action("ReadLeads", "LeadsManagement").Type(HttpVerbs.Get))
    
     )
    
                                    )
    

    这是我的结果btw。

    {"Data":[{"LastName":"COFFEY","FirstName":"EDWARD","City":"FRANKFORT","County":"FRANKLIN","State":"KY","Zip":"40601-2304"},{"LastName":"DESPAIN","FirstName":"TONY","City":"CAMPBELLSVILLE","County":"TAYLOR","State":"KY","Zip":"42718-9397"},{"LastName":"HALBIG","FirstName":"RONALD","City":"CAMPBELLSVILLE","County":"TAYLOR","State":"KY","Zip":"42718-1556"},{"LastName":"KRAUS","FirstName":"REBECCA","City":"FRANKFORT","County":"FRANKLIN","State":"KY","Zip":"40601-2714"},{"LastName":"LAWLESS","FirstName":"MEREDITH","City":"CAMPBELLSVILLE","County":"TAYLOR","State":"KY","Zip":"42718-1556"},{"LastName":"RANKIN","FirstName":"PAULINE","City":"LAWRENCEBURG","County":"ANDERSON","State":"KY","Zip":"40342-1374"},{"LastName":"SHIRLEY","FirstName":"LORRAINE","City":"CAMPBELLSVLLE","County":"TAYLOR","State":"KY","Zip":"42718-1557"},{"LastName":"STAPLES","FirstName":"DAMON","City":"HODGENVILLE","County":"LARUE","State":"KY","Zip":"42748-1208"},{"LastName":"WILLIAMS","FirstName":"LUCY","City":"FRANKFORT","County":"FRANKLIN","State":"KY","Zip":"40601-2308"},{"LastName":"WILSON","FirstName":"BELIDA","City":"FRANKFORT","County":"FRANKLIN","State":"KY","Zip":"40601-1321"}],"Total":10,"AggregateResults":null,"Errors":null}
    

1 个答案:

答案 0 :(得分:0)

感谢所有的帮助,似乎我错过了对捆绑的引用。我确信Mark Schultheiss指出了我正确的方向。

今天完成了它的工作。这是修复它的原因。

  1. 我将我的actionresult改为JsonResult。
  2. 我在网格中启用了过滤功能,但我的列都没有过滤属性。
  3. 我认为这就是它。现在效果很好。