2012-11-15 2 views
0

MY 유효성 검사 오류가 발생하면 비즈니스 서비스가 키/값 사전에 맞춤 규칙 예외를 반환합니다.BAL에서 MVC의 컨트롤러 ModelState에 사용자 지정 예외 바인딩

이러한 유효성 검사 오류에 대해 내 MVC 프로젝트에서 처리하고 ModelState로 바인딩하므로 해당 오류가 자동으로 뷰에 채워집니다.

하지만 예외가 발생하면 자동으로 오류 페이지로 리디렉션됩니다. 오류를 처리하고 동일한보기에 표시 할 수 있습니까?

답변

1
try 
{ 
    BusinessService.SomeOperation(model); 

    return RedirectToAction("Index"); //success 
} 
catch(RulesException ex) 
{ 
    foreach(var validationResult in ex.Result) 
    { 
      ModelState.Add(validationResult.Key, validationResult.Value) 
    } //populate modelstate 

    return View(model); //redisplay view with errors 
} 
+0

:) 현재는 시간대별로 같은 방법을 사용했지만 ModelState에 오류를 바인딩 할 수있는 방법이 있습니까? 그러면 MVC 좌초가 될 것입니다. – bijayk

+0

ModelState에 대한 바인딩 오류는 무엇을 의미합니까? ModelState.Add는 내가 맞는 것이라고 생각합니다. – archil

+0

맞습니다.하지만 catch catch를 사용하여 메서드 호출을 래핑하고 추가 할 수 있어야합니다. 대신 일부 필터를 원한다고 말하면 예외 필터가 나를 자동으로 처리합니다. – bijayk