Я могу заполнить элементы в сетке только при передаче модели напрямую. Если я попытаюсь получить данные Json, я не смогу.ASP.NET MVC kendo grid
Вот мой контроллер:
namespace MVC_Test1.Controllers
{
public class StudentsController : Controller
{
private ContosoUniversityEntities db = new ContosoUniversityEntities();
public ActionResult Index()
{
db.Configuration.ProxyCreationEnabled = false;
return View(db.students.ToList());
}
public ActionResult Read([DataSourceRequest] DataSourceRequest request)
{
using (var northwind = new ContosoUniversityEntities())
{
IQueryable<student> students = northwind.students;
DataSourceResult result = students.ToDataSourceResult(request);
return Json(result);
}
}
}
}
Если у меня есть этот вид сетки работает и показывает все элементы:
@model MVC_Test1.Models.student
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@*@(Html.Kendo().Grid(Model)
.Name("grid")
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
)
.Columns(columns =>
{
columns.Bound(p => p.FirstName);
columns.Bound(p => p.LastName);
})
)*@
Но если я пытаюсь читать JSON это не работает , Он показывает пустую сетку.
@(Html.Kendo().Grid<MVC_Test1.Models.student>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.FirstName);
columns.Bound(p => p.LastName);
})
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("Read", "Students"))
)
)
Я уверен, что я делаю что-то неправильно, но я не могу понять это. Спасибо за помощь.
Возможно, это связано с тем, что вы используете 'IQueryable' вместо' List' – CSharper
Получены ли ошибки в консоли браузера? Ваш запрос попал в действие? –
Я изменил, чтобы использовать Список и все еще никаких данных. Нет ошибок и да, это действие, и я вижу, что он извлекает данные, но список по-прежнему пуст ... это очень странно. –