2009-03-28 4 views
1

ASP.NET MVC에서 웹 사이트를 만들고 정말로 알아 내지 못하는 것을 발견했습니다.jquery ajax 게시물을 수행 할 때 asp.net mvc 컨트롤러에서 오류를 반환하는 방법은 무엇입니까?

사용자가 자신의 암호를 변경할 수있는 사용자 프로필 페이지가 있습니다. 서버 측에서 변경을 허용하기 전에 사용자가 올바른 "현재"비밀번호를 입력했는지 확인하고 싶습니다.

암호가 정확하지 않을 때 내보기로 돌아 오는 가장 좋은 방법은 무엇입니까? ModelState.AddModelError를 사용하여 시도한 다음 Json (View())을 반환하지만 브라우저로 반환 된 JSON 객체의 아무 곳에서나 오류 메시지를 볼 수 없습니다.

클라이언트에서 jquery를 사용하여 가장 좋은 방법은 무엇입니까?

/예스퍼

답변

1

ModelState 자동으로 반환 Json 아무것도하지 않습니다. 클라이언트에 반환 할 데이터로 모델 객체를 수동으로 채워야합니다.

오류을 클라이언트에보고하려면 컨트롤러 작업 메서드에서 예외를 throw하고 jQuery에서 예외를 처리 할 수 ​​있습니다.

2

나는 수업

JsonOK : JsonResult { ... } 
JsonError : JsonResult { ... } 

에 작성하고 확인 및 오류 응답을 그 2를 사용합니다.

try 
{ 
    ... 
} 
catch (Exception ex) 
{ 
    return JsonError(ex.Message); 
    // or output your own message 
    // or pass into it ModelState with your errors 
} 
관련 문제