2017-12-24 39 views
0

ASP.NET Zero (.NET Core 2.0 & jQuery) 템플릿에서 작업하고 있습니다. 현재 .NET MVC5 템플릿에서 작업 코드를 .NET Core 버전으로 옮깁니다.응용 프로그램 서비스가 JS에서 보낸 매개 변수 값을 가져 오지 못했습니다.

자바 스크립트의 몇 가지 앱 서비스 호출 문제가 있습니다. 디버그에서 앱을 실행하고 JS 및 C#의 캡쳐 화면을 캡처하여 값이 C# 코드에 전달되지 않는 방법을 보여줍니다. 아래 첫 번째 이미지는 내 앱 서비스 메소드 getCompanies에 대한 JS 호출 중 하나를 보여줍니다. 여기서 Filter 매개 변수 getCompanies에 분명히 값이로드 된 것을 볼 수 있습니다. 디버그가 GetCompanies에 대한 C# 코드에 도달 할 때 지금 enter image description here

는 매개 변수 Filternull입니다. enter image description here

이전에는 .NET MVC5 버전에서이 유형의 문제가 발생하지 않았습니다. 이것은 .NET Core 버전에서만 실행 한 것입니다. 이 문제를 해결하는 방법이나 볼 위치에 대한 아이디어가 있습니까?

업데이트 내가 크롬과 가장자리 브라우저에서 네트워크 탭을 확인하고 나는 매개 변수 값이 표시되지 않습니다. 에지 브라우저에서

네트워크 탭 : enter image description here enter image description here

+0

브라우저 네트워크 탭이 표시됩니까 그것은 보낸거야? – aaron

+0

@aaron 크롬 및 가장자리 브라우저에서 네트워크 탭을 확인했는데 어디에도 매개 변수 값이 표시되지 않습니다. – exlnt

+0

JS에서'filter'를 위해 소문자'f'를 사용해보십시오. – aaron

답변

1

매개 변수 이름은 Client Proxies에 대한 CamelCase를에 있습니다.

사용 소문자 ffilter을 위해 :

_companyService.getCompanies({ 
    filter: _filter 
}).done(function (result){ 
    //... 
}); 
0

이 MyFilter에 필터 속성 이름을 변경 시도하고 클라이언트에서 MyFilter을 보낼 수 있습니다. (때로는 예약 된 키워드로 인해 asp.net 코어의 모델 바인딩이 금지됩니다.)

Fiddler을 사용하면 서버에 대한 최종 요청을 볼 수 있습니다.

바인딩을 설명하는 블로그 게시물입니다. https://andrewlock.net/model-binding-json-posts-in-asp-net-core/