Kindo Grid в MVC отображает необработанные данные - PullRequest
0 голосов
/ 07 января 2020

Я новичок в Kendo и изучаю, как интегрировать его с MVC и отображать данные в виде сетки.

Мой контроллер

[HttpGet]
public ActionResult StudentList([DataSourceRequest]DataSourceRequest request)
{
    DataSourceResult result = 
    _acc.GetStudent(StudId).ToDataSourceResult(request,
        model => new StudentModel
        {
            ID = model.ID,
            StudId = model.StudId,
            Name= model.Name,
            Email= model.FullName,
            custEmail = model.Email
        });


        return Json(result, JsonRequestBehavior.AllowGet);
}

Мой вид

@(Html.Kendo().Grid<Models.StudentModel>()
                .Name("grid")
                .Columns(columns =>
                {
                    columns.Bound(c => c.StudId);
                    columns.Bound(c => c.Name);
                    columns.Bound(c => c.Email);
                })
                     .Pageable()
                     .Sortable()
                     .Filterable()
                     .Scrollable(scr => scr.Height(550))
                     .DataSource(dataSource => dataSource
                     .Ajax()
                     .Read(read => read.Action("StudList", "Student"))
                     .ServerOperation(false)
  )
)

И результат, который я получаю в своем браузере, выглядит так:

{"Data":[{"ID":1102,"StudId":4006,"Name":"Adam Lyon","Email":"alyon@regionofwaterloo.ca",",....,

Кто-нибудь знает, почему данные не отформатированы в виде сетки?

1 Ответ

1 голос
/ 07 января 2020

Вы получите такое поведение, если будете напрямую ссылаться на действие EmployeeList, которое должно вызываться только сеткой. Если ваше имя вида скажет Index, вам понадобится другое действие:

public ActionResult Index()
{
    return View();
}

Затем в коде ссылка на это:

@Html.ActionLink("Employee List", "Index", "Employee")

Теперь представление загрузится и сетка кендо отобразит и затем вызовет ваше действие EmployeeList для заполнения сетки.

См. пример контроллера Kendo здесь . У него есть действие для загрузки вида сеткой, а затем CRUD-действия, которые сетка будет вызывать через AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...