일반적으로 웹 응용 프로그램이 출시된 후 사용자에게 친숙한 인터페이스와 사용자 경험을 제공하기 위해 오류가 발생하면 ASP.NET에서 사용자에게 표시되는 자세한 예외 목록 대신 사용자 지정된 오류 페이지로 이동합니다.
web.config를 통해 간단한 오류 처리 페이지를 설정할 수 있습니다.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403"redirect="NoAccess.htm" />
<error statusCode="404"redirect="FileNotFound.htm" />
</customErrors>
프로그래밍 방식으로 오류의 원인을 표시하려면 Page_Error 이벤트를 통해 이를 수행할 수 있습니다.
또 다른 방법은 Global.asax를 통해 얻을 수 있습니다. 게다가 별도의 좀 더 친숙한 페이지와 결합할 수 있다면 더 편리할 것 같습니다.
Global.asax(필요한 경우 오류 로깅) void Application_Error(객체 전송자, EventArgs e)
{
예외 objErr = Server.GetLastError().GetBaseException();
string error = "예외 페이지: " + Request.Url.ToString() + "<br>";
error += "예외 메시지: " + objErr.Message + "<br>";
서버.ClearError();
응용프로그램["error"] = 오류;
Response.Redirect("~/ErrorPage/ErrorPage.aspx");
}
ErrorPage.aspx
protected void Page_Load(개체 전송자, EventArgs e)
{
ErrorMessageLabel.Text = 응용프로그램["error"].ToString();
}최종 사용자가 애플리케이션을 사용할 때 오류의 원인을 알고 싶어하지 않을 수 있습니다. 이때 확인란을 사용하여 오류의 원인을 표시할지 여부를 결정할 수 있습니다. div에 레이블을 넣은 다음 확인란을 사용하여 div를 렌더링할지 여부를 결정할 수 있습니다.
<스크립트 언어="자바스크립트" 유형="텍스트/자바스크립트">
<!--
기능 CheckError_onclick() {
var chk = document.getElementById("CheckError");
var divError = document.getElementById("errorMsg");
if(chk.checked)
{
divError.style.display = "인라인";
}
또 다른
{
divError.style.display = "없음";
}
}
// -->
</script>
http://www.cnblogs.com/EasyLive2006/archive/2007/01/07/613922.html