ASP.NET MVC 앱에서 컨트롤러의 OnException을 무시하여 오류를 처리하고 있습니다. 페이지에서 런타임 오류가 발생하면 Error.aspx 페이지가 안에 오류가 발생한 페이지 인 을 엽니 다. 다음은 코드입니다 (일부 오류 메시지가 삭제 된 경우) :예외 처리가 현재 페이지 내부에서 오류 페이지를 엽니 다.
Protected Overrides Sub OnException(ByVal filterContext As System.Web.Mvc.ExceptionContext)
MyBase.OnException(filterContext)
filterContext.ExceptionHandled = True
View("Error").ExecuteResult(ControllerContext)
End Sub
Error.aspx 페이지가 Shared 디렉토리에 있습니다. 예를 들어 내보기의 형식이 작성자이고 내 모델의 책 테이블이 떨어져 있고 책에 대한 읽기 권한이없는 경우 참조하려고 시도 할 때
<%=Model.Books.Count>
전체 Error.aspx 페이지가 카운트가 예정된 지점에 나타납니다. 어떻게 이것을 오류 페이지로 리디렉션하고 문제 페이지를 뒤에 남겨 두게합니까?
는 업데이트 : 바로보기의 상단에
<% Throw New Exception("b0rkd")%>
을 넣어 더 쉬운 예입니다. Error.aspx는 원본 페이지 내에 예외를 넣는 지점에서 완전히 렌더링됩니다.
의미가 있지만, 아직 변경되지 않은 것 같습니다. 원본 페이지 내부는 여전히 렌더링됩니다. – gfrizzle
지금 문제가 있습니다. 결과가 실행될 때 예외가 발생합니다. 그 시점에서, 그것을 대체하기에는 너무 늦었습니다. 이것은 액션 실행 중에 예외가 발생하면 작동합니다. 내 대답을 업데이트 할게. – tvanfosson
빙고! 편집 해 주셔서 감사합니다. 질문 할 올바른 질문을 모른 채 조사하는 것이 쉬운 주제는 아니 었습니다. – gfrizzle