모델을 직접 전달할 때만 그리드의 항목을 채울 수 있습니다. Json 데이터를 얻으려고하면 그럴 수 없습니다. 여기 ASP.NET MVC 검도 그리드
내 컨트롤러입니다 :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"))
)
)
나는 틀린 일을하고 있다고 확신한다. 그러나 나는 그것을 이해할 수 없다. 도와 줘서 고맙다.
'List '대신'IQueryable'을 사용하고 있기 때문일 수 있습니다 – CSharper
브라우저 콘솔에 오류가 있습니까? 귀하의 요청이 조치에 부딪 혔습니까? –
목록을 사용하도록 변경했지만 데이터가 없습니다. 오류가없고 예, 작업을 치는 중이고 데이터를 가져 오는 중 목록이 여전히 비어 있습니다 ... 이것은 매우 이상합니다. –