我无法在kendo网格中显示我从Controller作为Json结果返回的数据。Json结果不能绑定到KendoUI网格
[HttpPost]
public ActionResult PermitSearch(BptSearchViewModel viewModel)
{
var data = appService.SearchPermitInspection(viewModel);
return Json(data);
}
现在从我查看我使用AJAX
@using (Ajax.BeginForm("PermitSearch", "Home", null, new AjaxOptions
{
HttpMethod = "post",
InsertionMode = InsertionMode.InsertAfter,
UpdateTargetId = "search-results-grid",
OnComplete = "OnCompleteMethod"
}))
{
....
}
<div id="search-results-grid"></div>
提交信息与OnCompleteMethod脚本低于
function OnCompleteMethod(dataq, status) {
if (status === "success") {
$("#search-results-grid").kendoGrid({
columns: [
{
field: "jobname",
title: "Job Type"
},
dataSource: {
data: {
"items" : dataq
},
schema: {
data: "items"
}
},
groupable: true,
sortable: true,
pageable: {
refresh: true,
pageSizes: true,
buttonCount: 5
},
noRecords: {
template: "No data available on current page. Current page is: #=this.dataSource.page()#"
}
});
}
}
,而且我上回看起来像这样的数据我给控制器打电话后
我已经看到这个作品的例子是使用数组内部的对象的键而不用引号,就像这样,但是我找不到任何可以应用的转换来将json数据传递给网格。
[
{
jobname: "job1"
},
{
jobname: "job2"
}
]
您可以在这里看到
当进入OnCompleteMethod函数时'dataq'和'status'包含什么? – Sandman
您已经将模式定义为在名为“items”的属性中查找数据,但我没有看到它作为JSON示例中的属性,请尝试返回名为“items”的数组并且它应该绑定。 –
@StephenByrne @StephenByrne我试过你的方法,但仍然不起作用,如果我直接复制并粘贴我在响应中看到的数据作为脚本的一部分,我可以看到它上面的元素,但作为参数传递函数似乎与我更新了我的问题不同的格式,但奇怪的是,即使在脚本内粘贴带有双引号的代码似乎也能工作,对此有任何帮助? – Heinrich