2012-07-04 5 views
0

매개 변수의 값에 따라 응답을 반환하는 메서드가있는 컨트롤러가 있습니다. 이 컨트롤러에 POST Json 데이터를 보내려고하지만 어떻게 든 바인딩이 작동하지 않습니다. Fiddler를 사용하여 컨트롤러 메서드를 테스트하고 있습니다.HTTP POST를 사용하는 동안 Control 매개 변수를 바인딩하면 NULL이 반환됩니다.

[AcceptVerbs(HttpVerbs.Post)] 
public string Authenticate(string username) 
{ 
    //some logic 
    return "value"; 
} 

이제 userName은 응용 프로그램을 디버깅 할 때 항상 null을 반환합니다. 이 방법을 테스트하려면 Fiddler를 사용하고 있습니다. 요청의 원시 데이터는 다음과 같습니다.

POST http://localsite/Home/authenticate HTTP/1.1 
User-Agent: Fiddler 
Host: localhost:52774 
x-requested-with: XMLHttpRequest 
Content-Length: 20 
Content-Type: application/json; charset=utf-8 
Accept: application/json 

{"username":"kunal"} 

내가 잘못 생각하는 부분이 있습니다.

답변

0

MVC2에는 JSON 용 모델 바인더 지원이 없습니다.

MVC3/4로 업그레이드하지 않으려면 MVC2 앱에서 Sending JSON to an ASP.NET MVC Action Method Argument 좋은 기사를 찾으십시오.

은 기본적 게시 값을 수신 할 수있는 유일한 방법 formscollection가

는 다행히 당신이 ASP.NET MVC 2 Futures library

+0

의 구현을 찾을 수 있습니다 ... 작성하고 ValueProviderFactoriesJsonValueProviderFactory를 추가 할 필요가? –

+0

링크 된 기사에 설명 된'JsonValueProviderFactory'를 사용하지 않으려면 '그렇습니다'라고 추측합니다. – nemesv

관련 문제