数据没有出现在Kendo Grid中

时间:2017-01-27 14:53:49

标签: asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc

我正在使用带有Kendo Grid控件的ASP.NET MVC App。出于某种原因,我无法在页面加载时获取网格内的数据。

我认为我按照Kendo JS文件引用顺序的顺序做错了。

当我点击右下角的网格刷新图标时,它会以GET模式提取数据并将其作为JSON呈现在整个页面中。

enter image description here

查看代码:: -

@{
    ViewBag.Title = "About";
}

<script src="~/Scripts/Kendo/jquery.min.js"></script>
<script src="~/Scripts/Kendo/kendo.all.min.js"></script>
<script src="~/Scripts/Kendo/kendo.aspnetmvc.min.js"></script>

<link href="~/Content/Kendo/kendo.common.min.css" rel="stylesheet" />
<link href="~/Content/Kendo/kendo.default.min.css" rel="stylesheet" />
<link href="~/Content/Kendo/kendo.bootstrap.min.css" rel="stylesheet" />
<link href="~/Content/Kendo/kendo.dataviz.bootstrap.min.css" rel="stylesheet" />
<link href="~/Content/Kendo/kendo.dataviz.min.css" rel="stylesheet" />
<link href="~/Content/Kendo/kendo.default.mobile.min.css" rel="stylesheet" />

<h2>Demo with Kendo Grid Sample</h2>
<br />

<div>
    @(Html.Kendo().Grid<GetUserDataSet_Result>()
                      .Name("userGrid")
                      .Columns(columns =>
                      {
                          columns.Bound(p => p.ID).Title("ID");
                          columns.Bound(p => p.FirstName).Title("First Name");
                          columns.Bound(p => p.LastName).Title("Last Name");
                      })
                      .Pageable(pager => pager.Enabled(true).Refresh(true).PageSizes(new List<object> { 10, 20, 50, "all" }))
                    .DataSource(dataSource => dataSource
                            .Ajax()
                            .ServerOperation(true)
                            .PageSize(15)
                            .Model(model => model.Id(p => p.ID))
                            .Read(read => read.Action("UserData", "Home"))
                      )
    )

</div>

控制器代码:: -

  public ActionResult About()
        {
            //ViewBag.Message = "Your application description page.";            
            return View();
        }

        public ActionResult UserData([DataSourceRequest] DataSourceRequest request)
        {
            MyCloudRepoEntities mx = new my_Nitro_Demo.MyCloudRepoEntities();
            List<GetUserDataSet_Result> lstUserData = mx.GetUserDataSet().ToList();

            return Json(lstUserData.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
        }

2 个答案:

答案 0 :(得分:1)

就我而言,问题在于javascript引用和&amp;我在网页的底部引用它们。所以我将脚本引用移动到页面顶部并按以下顺序移动。问题得到解决。

<script src="/my-Nitro/Scripts/jquery-1.10.2.js"></script>  
<script src="/my-Nitro/Scripts/Kendo/kendo.all.min.js"></script>
<script src="/my-Nitro/Scripts/Kendo/kendo.aspnetmvc.min.js"></script>

答案 1 :(得分:0)

请为您的网格添加 AutoBind 以便在加载时进行绑定。

@(Html.Kendo().Grid<GetUserDataSet_Result>()
.AutoBind(true)
.Name("userGrid")
//code continues......