2016-09-05 2 views
0

사용자를 검도 그리드에 표시하려고합니다. 여기 내 컨트롤러입니다 :AJAX MVC에서 Kendo Grid 사용

@{ 
    ViewBag.Title = ""; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

@(Html.Kendo().Grid<RahatWeb.Models.User>() 
      .Name("grid") 
      .Columns(columns => 
      { 
       columns.Bound(user => user.Id); 
       columns.Bound(user => user.FirstName); 
       columns.Bound(user => user.LastName); 
      }) 
      .DataSource(dataSource => dataSource 
       .Ajax() 
       .Read(read => read.Action("Users_Read", "User")) 
      ) 
      .Pageable() 
      .Sortable() 
) 

문제는 데이터 그리드에 표시되지 않습니다이다 :

public class UserController : Controller 
    { 
     public ActionResult Index() 
     { 
      return View(); 
     } 

     public ActionResult Users_Read([DataSourceRequest]DataSourceRequest request) 
     { 
      using (var rahatWeb = new RahatWebEntities()) 
      { 
       IQueryable<User> users = rahatWeb.Users; 
       DataSourceResult result = users.ToDataSourceResult(request); 
       return Json(result, JsonRequestBehavior.AllowGet); 
      } 
     } 
    } 

가 여기 내보기입니다. 문제를 어떻게 해결할 수 있습니까?

+2

컨트롤러에 타격을 가하고 있습니까, 컨트롤러가 터지나요? 데이터를 반환합니까? 그것은 그리드에 의해 예상되는 형식으로 데이터를 반환합니까? 디버깅을 시도 했습니까? –

+0

예 Users_Read Action을 수동으로 요청했으며 JSON 결과가 데이터를 반환했습니다. Users_Read Action에 중단 점을 넣고 Index Action을 요청하면 그리드는 정상적으로 표시되지만 아무 데이터도 표시되지 않습니다. – Mohsen

+1

레이아웃에'kendo.aspnetmvc.min.js'을 포함 시켰습니까? 또한 브라우저에서'F12'를 누르고 콘솔에서 클라이언트 측 오류를 확인하십시오. – mrmashal

답변

1

kendo.aspnetmvc.min.js을 레이아웃에 포함 시켰습니까? 또한 브라우저에서 F12을 누르고 콘솔에서 클라이언트 측 오류가 없는지 확인하십시오.