2017-01-27 7 views
-1

Я использую приложение ASP.NET MVC с управлением сетью Kendo. По какой-то причине я не могу получить данные внутри сетки при загрузке страницы.Данные не отображаются внутри Kendo Grid

Я думаю, что я делаю что-то неправильно в порядке заказа файла Kendo JS.

И когда я нажимаю значок обновления сетки в правом нижнем углу, он извлекает данные в режиме GET и отображает их на всей странице как JSON.

enter image description here

View Code :: -

@{ 
    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> 

Controller Code :: -

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); 
     } 
+0

Вы видите ошибки в javascript при открытии инструментов разработчика в своем браузере? –

ответ

0

Пожалуйста, добавьте AutoBind для сетки, чтобы связать с нагрузкой.

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

В моем случае, проблема заключается в порядке яваскрипта ссылки & я имел в виду их в нижней части страницы. Поэтому я переместил ссылки на скрипт вверху страницы и в следующем порядке. И проблема была исправлена.

<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

, если вы проверите этот бит документации API, он покажет вам, как «отложить» инициализацию скриптов. Http://docs.telerik.com/aspnet-mvc/getting-started/fundamentals#configuration-Deferred –

 Смежные вопросы

  • Нет связанных вопросов^_^