通常、Web アプリケーションのリリース後は、ユーザーに使いやすいインターフェイスとユーザー エクスペリエンスを提供するために、エラーが発生すると、ASP.NET によってユーザーに公開される詳細な例外リストではなく、カスタマイズされたエラー ページにジャンプします。
単純なエラー処理ページは web.config 経由で設定できます。
<customErrors mode="RemoteOnly"defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</カスタムエラー>
プログラムでエラーの原因を提示したい場合は、Page_Error イベントを通じてこれを行うことができます。
Global.asax を使用して別の方法を実現することもできます。さらに、別のよりわかりやすいページと組み合わせることができれば、より快適になると思います。
Global.asax (必要な場合はエラーログ) void Application_Error(object sender, EventArgs e)
{
例外 objErr = Server.GetLastError().GetBaseException();
string error = "例外ページ: " + Request.Url.ToString() + "<br>";
error += "例外メッセージ: " + objErr.Message + "<br>";
Server.ClearError();
アプリケーション["エラー"] = エラー;
Response.Redirect("~/ErrorPage/ErrorPage.aspx");
}
ErrorPage.aspx
protected void Page_Load(オブジェクト送信者, EventArgs e)
{
ErrorMessageLabel.Text = Application["error"].ToString();
エンドユーザーがアプリケーションを使用する場合、エラーの原因を知りたくない場合があります。このとき、チェックボックスを使用してエラーの原因を表示するかどうかを決定できます。ラベルを div に配置し、チェックボックスを使用して div をレンダリングするかどうかを決定できます。
<script language="javascript" type="text/javascript">
<!--
関数 CheckError_onclick() {
var chk = document.getElementById("CheckError");
var divError = document.getElementById("errorMsg");
if(チェック済み)
{
divError.style.display = "インライン";
}
それ以外
{
divError.style.display = "なし";
}
}
// -->
</script>
http://www.cnblogs.com/EasyLive2006/archive/2007/01/07/613922.html