2009-05-29 5 views
1

양식 데이터를 데이터베이스에 저장하는 버튼이 aspx 페이지에 있다고 가정합니다. 연결된 이벤트 핸들러에서 업데이트를 보내기 전에 웹 서비스에서 무언가를 읽었습니다. 예외가 발생할 수 있습니다. 오류가 발생하면 적절한 메시지를 페이지에 표시하고 양식의 모든 데이터를 보존하려고합니다. 이것을 어떻게 할 수 있습니까? 또한 모든 내 페이지는 기본 페이지에서 상속되므로 모든 오류 처리 코드를 기본 클래스에 포함 할 수 있으면 가능하면 좋겠습니다. try-catch 블록을 사용하여 웹 서비스 호출을 가능한 한 둘러싸고 싶지는 않지만 처리되지 않은 예외가 발생하면 자동으로 일부 메서드 (예 : Page_error)를 호출하지만 양식의 데이터는 그대로 유지합니다.ASP.NET 컨트롤 이벤트 예외 처리

답변

1

파생 클래스에서 호출 한 수퍼 클래스에 표시 메시지 (일부 errorMessageLabel의 텍스트 설정)를 관리하는 방법을 쉽게 지정할 수 있습니다 (상속을 사용하여 페이지의 템플릿을 설정하려는 경우). 예외가있는 경우 throw됩니다 (실제로 예외가 발생하거나 프로그래밍 스타일에 따라 웹 서비스를 사용할 수없는 경우 수동으로 관리 할 수 ​​있으면 catch 블록에 superclas 메서드에 대한 호출을 넣을 수 있습니다).

제시된 데이터를 보존하는 한, viewstate가 켜져 있고 페이지를 동적으로 채우지 않으면 확인됩니다. 그렇지 않은 경우 상태 정보를 viewState 또는 세션 항목에 명시 적으로 저장하고 다시 검색해야합니다. 뭔가 잘못 됐어. 이 비트는 페이지가 실제로 어떻게 구현되는지에 따라 달라집니다.