나는 내 ASP.NET 코어 컨트롤러에서 다음과 같은 방법는 ASP.NET.Core MVC 컨트롤러 방법으로 다차원 배열을 수신 할 수
이public async Task<JsonResult> MyJsonResultMethod(int page,int take, int skip, IEnumerable<Sort> sort){
...
public class Sort
{
public string field { get; set; }
public string dir { get; set; }
}
프런트 엔드 검도 UI 웹 그리드 내 자바 스크립트가하는 가지고 나는 내가 HTTPGet을 잡을 수 피들러에서이를 모니터링하는 경우 컨트롤러 메소드
$("#grid").kendoGrid({
dataSource: {
type: "json",
transport: {
read: "/MyController/MyJsonResultMethod"
},
pageSize: 5,
serverPaging: true,
serverSorting: true
},
height: 550,
sortable: true,
pageable: {
refresh: true,
pageSizes: true,
buttonCount: 5
},
을 얻고 모든 값이 전달되는 참조
GET http://localhost:62594/MyController/MyJsonResultMethod?take=5&skip=0&page=1&pageSize=5&sort%5B0%5D%5Bfield%5D=DocumentNumber&sort%5B0%5D%5Bdir%5D=asc
컨트롤러 메서드를 디버깅 할 때 메서드에 전달 된 모든 속성이 null로 수신 된
IEnumerable<Sort> sort
을 제외한 올바른 값을 가지고 있음을 알 수 있습니다. 나는 Sort[] sort
로 바꾸려고했으나 결과는 여전히 동일합니다
이것은 asp.net 코어에 고유 한 것으로 kendo가 배열을 보내는 방식입니다. 텔 레릭 (Telerik) 지원팀과 통화를 기록한 후 검도 UI 웹 그리드가 asp.net 코어를 지원하지 않는다고 말했습니다. 나는 Fiddler가 분명히 데이터를 보내는 것처럼 이것에 대한 이유를 볼 수 없습니다. 난 그냥 어떻게 든 그것을 지원하는 매개 변수를 얻을 필요가있다.
Bind 속성을 추가했는데 결과는 여전히 동일합니다. 내 이해에서 이것은 asp.net 코어 고유하고 그들은 검도 UI 배열을 보냅니다. – devc2
아마도 ... 또한 내/검도의 방식에서 데이터는 "sort [0] .field"* not * "sort [0] [field]"로 전송됩니다. Bind 특성 외에도 점 표기법을 사용합니다. –