Mvc.JsonResult
과 Mvc.ViewResult
사이에는 암시 적 변환이 없으므로 조건부 연산자를 사용할 수는 없지만 대신 캐스트로 끝낼 수 있습니다.IsAjaxRequest와 함께 조건부 연산자를 사용하여 ActionResult를 반환합니다.
내 질문에 이르게하는 성능은 내가 JsonResult의 가치가있는 복싱을 위해 취하는 성과입니다. 아니면 정상적인 if...else
블록을 수행해야합니까?
아래 코드는 정상적인 컨트롤러 액션 내부에 나타납니다 public ActionResult Inactivate()
없음 복싱
if (Request.IsAjaxRequest())
{
return Json(foo);
}
else
{
return View(bar);
}
VS 복싱
return Request.IsAjaxRequest() ? (ActionResult)Json(foo) : View(bar);
답변에서 여러 가지를 배웠습니다. 고맙습니다. – ahsteele