2012-04-02 2 views
12

최근에 ContentResult를 반환하는 컨트롤러에서 Ajax 호출을 수행하는 Asp.Net Mvc2 코드의 일부 샘플을 발견했습니다.ContentResult와 Ajax를 사용하는 JsonResult

반환 유형의 작업을 JsonResult로 변경하지 않고 Mvc3에서 이러한 샘플을 변환하는 동안 몇 가지 문제가 발생했습니다.

누구든지 아약스 호출의 컨텍스트에서 ContentResult와 JsonResult의 차이점을 설명 할 수 있으며 어떤 경우에 아약스 호출의 컨텍스트에서 둘 중 하나를 사용할 수 있습니까? 결과의 각 유형에 대해 자세히 설명하는 좋은 게시물 here을 찾았지만 제 질문에 대답하기에 충분하지 않습니다.

Mvc3에서 ContentResult 및 ajax 호출에 알려진 문제가 있습니까?

감사합니다.

답변

6

JavaScript 코드가 HTML과 같은 내용으로 돌아 오면 결과 뷰를 사용하여 HTML 형식의 ContentResult 또는 PartialViewResult를 반환해야합니다.

결과가 개체 (특히 사용자가 조작하려는 개체)이면 JsonResult 여야합니다. http://geekswithblogs.net/michelotti/archive/2008/06/28/mvc-json---jsonresult-and-jquery.aspx

행운을 빕니다 : 여기

는 JSON과 협력의 좋은 예입니다!

+0

와우, 빠른 응답을 위해 @Roy Dictus에게 감사드립니다. 필자의 경우, FusionChart 그래픽의 데이터 소스에 직접 할당하는 데 사용되는 xml 문자열을 반환합니다. 이 경우 JsonResult가 ContentResult보다 낫다고 생각합니까? – Samuel

+0

이것은 JSON이 아니며 JavaScript에서 처리 할 수있는 객체가 아니므로 내용이 적합 할 것입니다. –