2010-03-03 3 views
35

jquery를 통해 양식을 제출했지만 ActionResult이 true 또는 false를 반환해야합니다. 내 JQuery와 통화를 설계 할 방법asp.net mvc actionresult에서 bool 반환

[HttpPost] 
    public ActionResult SetSchedule(FormCollection collection) 
    { 
     try 
     { 
      // TODO: Add update logic here 

      return true; //cannot convert bool to actionresult 
     } 
     catch 
     { 
      return false; //cannot convert bool to actionresult 
     } 
    } 

가 양식 데이터를 전달하고 반환 값이 true 또는 false 인 경우도 확인 :

컨트롤러 메서드에 대한 코드입니다. true 또는 false를 반환하도록 위의 코드를 어떻게 편집합니까?

+7

나는 사랑이 단순한는, 예를 삶은하는 모든 expunges

$.getJSON( '/MyDear/Action', { MyFormParam: $('MyParamSelector').val(), AnotherFormParam: $('AnotherParamSelector').val(), }, function(data) { if (data) { // Do this please... } }); 

는 희망이 도움이 :

JQuery와 측의 응답을 처리하려면 관련없는 코드. 책 작가를 포함하여 다른 사람들의 95 %가 똑같이 할 수 있기를 바랍니다. –

+0

@ Eclipsoft 아마 영향력을 가진 누군가는 그것이 다루어지지 않았다면 메타에 대한 아이디어를 토론 할 수 있습니다. – MrBoJangles

답변

64

json 결과를 bool 또는 bool 속성으로 반환 할 수 있습니다. 이런 식으로 뭔가 :

[HttpPost] 
public ActionResult SetSchedule(FormCollection collection) 
{ 
    try 
    { 
     // TODO: Add update logic here 

     return Json(true); 
    } 
    catch 
    { 
     return Json(false); 
    } 
} 
+3

+1, * 추후 사용을 위해 그의 메모리에있는 파일 * –

+2

+1, 당신은 영웅입니다. – Eddie

4

당신이 (코드 유지 보수를 위해) JsonResult 대신 ActionResult를 사용해야 IMHO. 이것에 대해 어떻게)

+1

ActionResult 대신 Json 결과를 사용하면 코드를 유지 관리하기가 어떻게됩니까? AFAIK 사용하는 결과 유형은 브라우저가 예상하는 출력 유형에만 영향을 미칩니다. – JoseMarmolejos

+1

@JoseMarmolejos 안녕하세요 호세, 당신이 당신의 메소드에서 파생 된 메소드와 반환 유형의 속성을 사용할 수 있기 때문에 당신이 할 수있는 가장 파생 된 유형을 반환하는 것이 좋습니다. 이벤트에도 똑같이 적용됩니다. 공분산 규칙으로 인해 반대쪽에서 두 옵션 모두 대리자 사용에 대해 동일합니다.) +1 – SDReyes

2

:

[HttpPost] 
public bool SetSchedule(FormCollection collection) 
{ 
    try 
    { 
     // TODO: Add update logic here 

     return true; 
    } 
    catch 
    { 
     return false; 
    } 
} 
+2

그러면 "True"라는 문자열이 반환되므로 부울 검사는 실패합니다. if (data === true). JSON 방식과 다릅니다. – StuartQ

관련 문제