我正在尝试用从控制器获得的 Json 数据填充我的网格。我已经设置了断点并检查了数据是否正确返回,但 Grid 没有以某种方式填充。
控制器:
[Route("/api/list/getAll")]
[HttpPost]
public IActionResult GetList()
{
var result = _ListService.GetAll();
if (result == null || result.Count == 0)
return NotFound();
return Json(result);
}
剃刀:
@(Html.Kendo().Grid<Model>()
.Name("grid")
.Columns(columns => {
columns.Bound(c => c.Name).Width(140);
})
.Scrollable()
.Sortable()
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetList", "controller")))
)
模型有更多的字段,但我只输入名称用于测试目的。但无论如何,这并没有被填满。
我不知道我做错了什么,没有错误,页面只是加载并且网格没有填充。
//编辑 我认为返回数据类型可能是一个案例(Pascal 或 Camel 案例(,也对其进行了测试,但事实并非如此:/
甚至试图改变我在控制器返回的方法。从 IActionResult 更改为我的模型,效果不佳。
解决方案:
public IActionResult GetList([DataSourceRequest] DataSourceRequest request)
{
return Json(_Service.GetAll().ToDataSourceResult(request));
}
无法解释为什么这有效,我的控制器的方法不起作用。