2014-06-06 7 views
2

컨트롤러에이 테스트 방법을 설정하여 복잡성을 제거했습니다. 이 검색에서 찾은 모든 결과를 바탕으로 작동해야합니다. 내가 여기서 무엇을 놓치고 있는지 잘 모르겠습니다.Web.Http.Results.JsonResult를 Web.Mvc.JsonResult로 암시 적으로 변환 할 수 없습니다.

public JsonResult test() 
{ 
    return Json(new { id = 1 }); 
} 

이것은 내가 얻은 오류입니다.

public System.Web.Http.Results.JsonResult test() 
{ 
    return Json(new { id = 1 }); 
} 

그것은 것 같다

는 암시 적으로는 다음과 같은 시도 'System.Web.Mvc.JsonResult'

+1

참고. – user2864740

+1

'System.Web.Mvc.JsonResult'를 반환하는'Json (객체 데이터)'메소드는'System.Web.Mvc.Controller'의 _protected_ 메소드입니다. 컨트롤러 클래스를 상속 받아 사용해야 사용할 수 있습니다. 만약 당신의 컨트롤러가 (예를 들어) ApiController로부터 상속 받았다면 (제 경우는 ;-)'System.Web.Http.Results.JsonResult '을 반환하는'Json (T content)'메소드를 사용하고 있습니다 ... –

답변

1

을에 유형 'System.Web.Http.Results.JsonResult을'변환 할 수 없습니다 그 JsonSystem.Web.Mvc.JsonResult 아마 당신이 using System.Web.Mvc;지만, System.Web.Http.Results.JsonResult 예상대로 생성하지 않습니다.
은 더 일반적인 하나는 작동합니다 :

public ActionResult test() 
{ 
    return Json(new { id = 1 }); 
} 

참고 : 내 MVC 컨트롤러에서
Json 방법은 System.Web.Mvc.JsonResult를 반환 않습니다. 기본값 System.Web.Mvc.Controller에서 상속 받고 있습니까?

+0

테스트 해 봤어요 당신의 코드 ?? –

+0

@ ToanNguyen : 예, 아니오. 'Json'이 내 컨트롤러에서'System.Web.Mvc.JsonResult'를 반환하기 때문에 초기 코드가 작동하고 있습니다. 그러나 예외에 따르면 그의 경우에는 그렇지 않습니다 ... – ChrFin

0

JsonResult이 네임 스페이스에 ActionResult에서 상속 MVC에서

return Json(new { id = 1 }, JsonRequestBehavior.AllowGet);

+2

어떻게하면 컴파일러 오류를 해결할 수 있습니까? – AgentFire

0

을 시도 System.Web.Mvc

당신이 ::

public System.Web.Mvc.JsonResult test() 
{ 
    return Json(new { id = 1 }); 
} 
5

System.Web.Mvc.JsonResult에 대한 참조를해야하는 이유 그게 당신 Json 대신에 JsonResult를 반환해야합니다.

public JsonResult test() 
    { 
     var result = new JsonResult(); 
     result.Data = new 
     { 
      id = 1 
     }; 
     result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; 
     return result; 
    } 
0

익명 클래스가 아닌 모델 클래스를 통해 데이터를 반환해야합니다. 마찬가지로 : 귀하의 사용에

public System.Web.Http.Results.JsonResult<modelClass> test(){ 
     return Json(new modelClass(){ id=1 }); 
} 
0

넣어이 :

using System.Web.Http.Results; 

다음 조치 : * 즉시 문제가 * 익명 형식과 아무 상관이 어떻게

public JsonResult<YourClass> Get(string Search) 
     { 
      var Search = Search 
      return Json(Search); 
     } 
관련 문제