컨트롤러에서 Json Result로 반환하는 데이터를 검도 그리드에 표시 할 수 없습니다. 지금 Json 결과를 KendoUI 그리드에 바인드 할 수 없습니다.
[HttpPost]
public ActionResult PermitSearch(BptSearchViewModel viewModel)
{
var data = appService.SearchPermitInspection(viewModel);
return Json(data);
}
내보기에서 나는 아약스
@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()#"
}
});
}
}
나는 이런 모습을 반환하고 데이터 아래 내가 컨트롤러에 전화하면
[
{
"jobname": "job1"
},
{
"jobname": "job2"
}
]
내가 그 작품을보고있는 예제는 이런 식으로 배열 안의 객체 키를 따옴표없이 사용하고 있지만 그런 식으로 json 데이터를 그리드에 전달하는 데 적용 할 수있는 변환을 찾을 수 없습니다 .
[
{
jobname: "job1"
},
{
jobname: "job2"
}
]
당신은 내가 잘못 여기서 뭐하는 거지 여기에서
'OnCompleteMethod' 함수를 입력 할 때'dataq'와'status'는 무엇을 포함합니까? – Sandman
"items"라는 속성에서 데이터를 찾을 스키마를 정의했지만 JSON 샘플의 속성으로 "items"라는 배열을 반환하려고 시도하지 않습니다. 바인딩해야합니다. –
@StephenByrne 접근 방식을 시도했지만 여전히 작동하지 않습니다. 스크립트의 일부로 직접보고있는 데이터를 복사하여 붙여 넣으면 요소를 볼 수 있지만 매개 변수로 전달하면 함수를 다른 형식으로 내 질문에 업데이트 된 것 같지만 괴괴 망측 한 것은 스크립트 내에서 doble 따옴표로 코드를 붙여도 잘 작동하는 것 같습니다, 이것에 대한 도움이 필요합니까? – Heinrich