2017-01-27 1 views
-1

Kendo Grid 컨트롤과 함께 ASP.NET MVC App을 사용하고 있습니다. 어떤 이유로, 페이지가로드 될 때 표 안의 데이터를 가져올 수 없습니다.데이터가 Kendo Grid 내부에 표시되지 않습니다.

나는 검도 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); 
     } 
+0

브라우저에서 개발자 도구를 열 때 자바 스크립트 오류가 표시됩니까? –

답변

0

로드에 결합하는 그리드에 대한 으로 바인드를 추가하십시오. 내 경우

@(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 –

관련 문제